Dockerfiles
Com a Hospedagem de Aplicativos, você pode usar um Dockerfile para configurar a imagem do seu contêiner. Usar um Dockerfile lhe dá mais controle e permite que você use praticamente qualquer linguagem, então você não fica limitado às linguagens suportados pelo Nixpacks ou Buildpacks.
Um Dockerfile configura o ambiente dependendo das instruções dentro do Dockerfile, que deve incluir comandos para instalar a linguagem, software adjacente e bibliotecas, configurar a porta, e iniciar o servidor web. Kinsta configura automaticamente a variável de ambiente PORT
. Você não precisa defini-la você mesmo ou codificá-la no aplicativo. Por exemplo, em Node.js, utilize process.env.PORT
no seu código ao se referir à porta do servidor.
Mais informações sobre como criar Dockerfiles podem ser encontradas em Docker Docs.
Configurações do Dockerfile
Para usar um Dockerfile, ao adicionar um aplicativo, selecione a opção Usar Dockerfile para configurar a imagem do contêiner em Construir ambiente.
O caminho do Dockerfile é o caminho para o seu Dockerfile em relação à raiz do repositório. Por exemplo, caso o seu Dockerfile está na raiz do repositório, digite Dockerfile nesse campo. Se seu Dockerfile estiver em um subdiretório chamado app, insira o caminho para o seu Dockerfile: app/Dockerfile.
Contexto é o caminho no repositório que precisamos acessar para podermos construir seu aplicativo. A maioria dos aplicativos são construídas a partir da raiz do repositório, e você pode entrar na raiz do repositório (.) no campo Contexto. Se o aplicativo deve ser criado a partir de um subdiretório (como app), insira o caminho do subdiretório no campo Contexto: app.
Preencha o resto dos campos para adicionar seu aplicativo e clique em Adicionar aplicativo.
Exemplo de Dockerfile
Para ajudá-lo a começar, aqui está um exemplo de Dockerfile que você pode usar como referência ou como um ponto de partida.
FROM node:carbon
LABEL maintainer="Kinsta devs"
# Set the working directory to /app
WORKDIR /app
# Copy the current directory contents into the container at /app
COPY . /app
# Install any needed packages specified in package.json
RUN npm install
# Run app when the container launches
CMD ["npm", "start"]
Hospede um Banco de Dados com um Dockerfile
Se você combinar armazenamento persistente e um Dockerfile, poderá hospedar praticamente qualquer banco de dados que desejar com a nossa Hospedagem de Aplicativos. Até mesmo algo como um banco de dados do Microsoft SQL Server, que não é suportado em nossa Hospedagem de Banco de Dados, pode ser implantado. Se você pode containerizar com um Dockerfile, você pode implantá-lo na Hospedagem de Aplicativos.
O armazenamento persistente é necessário para reter os dados no seu banco de dados. Se você implantar um banco de dados na Hospedagem de Aplicativos sem armazenamento persistente, todos os dados serão perdidos se o aplicativo for reiniciado ou reimplantado.
Imagens Docker para muitos bancos de dados podem ser encontradas no Docker Hub. Procure pelo selo Docker Official Image ao buscar por um banco de dados para obter as imagens mais seguras e bem documentadas que seguem as melhores práticas.