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 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.

Adicione um aplicativo com um tipo Dockerfile build.
Adicione um aplicativo com um tipo Dockerfile build.

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"]