Dockerfile

Faça commit de um Dockerfile. A Nodion faz o build dessa imagem e executa-a.

Guias de deploy passo a passo: Docker.

Em Applications → New, ligue um repositório Gite escolha Dockerfile. A análise do repositório dá preferência a esta estratégia quando encontra um Dockerfile. Use Buildpacksse quiser que a Nodion instale o runtime.

Uma imagem pré-construída dispensa o build a partir do Git. Envie essa imagem para um registrye faça deploy dela. A importação de Docker Composena criação é experimental e não faz parte desta estratégia.

O que configura

  • Base directory: o contexto de build e, num monorepo, a localização do Dockerfile.
  • Dockerfile name: normalmente Dockerfile. A análise também lista os ficheiros Dockerfile.*.
  • Ports: as portas são preenchidas a partir das portas TCP de EXPOSE nesse ficheiro. Adicione ou remova portas conforme necessário. Depois da criação, as portas ficam no processo web.

Pode alterar a estratégia, o caminho e o Base directory mais tarde em Settings. A alteração aplica-se no próximo deploy.

O que faz um build

  1. Clona a branch.
  2. Usa o Base directory como contexto de build. Um .dockerignore nessa localização é respeitado. O .git nunca é enviado.
  3. Faz o build do Dockerfile indicado. Os ficheiros multi-stage funcionam. Não há seletor de etapa, por isso é executada a etapa final por omissão.
  4. Envia a imagem para o registry e arranca o processo web a partir dela.

As variáveis de ambiente marcadas como Build no separador Environment são passadas como argumentos de build do Docker (ARG). As variáveis de runtime aplicam-se quando o processo arranca, no próximo deploy. Depois de guardados, os segredos ficam só de escrita (write-only).

Os segredos do BuildKit (RUN --mount=type=secret) não são suportados. Coloque os valores de que precisa durante o build nessas variáveis Build.

Escuta e health check

A Nodion não define PORT numa aplicação Dockerfile. Essa variável destina-se aos buildpacks. Faça o seu servidor escutar na porta do processo web (a de EXPOSE ou a que definir em Processes). Se essa lista estiver vazia, a Nodion usa o EXPOSE da imagem e, depois, 8080.

Escute em todas as interfaces, não apenas em localhost. O CMD / ENTRYPOINT da imagem é o comando de arranque por omissão. Se precisar, substitua o comando no processo.

A Nodion verifica se a aplicação está pronta com um pedido HTTP GET ao Health check path definido em Settings (por omissão /) na porta web. Uma resposta 2xx ou 3xx indica que a aplicação está pronta. Um HEALTHCHECK do Docker na imagem é ignorado.

A Nodion respeita o USER da imagem. Um nome de utilizador desconhecido faz falhar o deploy.

Dê uma cloud ao seu agente.

Ganhe até 15 € de crédito ao registar-se.

Continuar com o GitHub

ou com e-mail

Fique a par das novidades.

Novidades do produto, sem spam. Pode cancelar a subscrição a qualquer momento.