Dockerfile

Haz commit de un Dockerfile. Nodion construye esa imagen y la ejecuta.

Guías de despliegue paso a paso: Docker.

En Applications → New, conecta un repo de Gity elige Dockerfile. Si el escaneo encuentra un Dockerfile, da preferencia a esta estrategia. Usa Buildpackssi quieres que Nodion instale el runtime.

Una imagen ya construida se salta la build desde Git: sube esa imagen a un registryy despliégala. La importación de Docker Composeal crear la app es experimental y no es esta estrategia.

Qué configuras

  • Base directory: el contexto de build y la carpeta del Dockerfile dentro de un monorepo.
  • Dockerfile name: normalmente Dockerfile. El escaneo también lista Dockerfile.*.
  • Ports: se rellenan a partir de los EXPOSE TCP de ese archivo. Añade o quita los que necesites. Una vez creada la app, los puertos están en el proceso web.

Puedes cambiar la estrategia, la ruta y el valor de Base directory más adelante en Settings. El cambio se aplica en el siguiente despliegue.

Qué hace una build

  1. Clona la rama.
  2. Usa el Base directory como contexto de build. Se respeta el .dockerignore que haya ahí. .git nunca se envía.
  3. Construye el Dockerfile indicado. Los Dockerfile de varias etapas funcionan. No hay selector de stage, así que se ejecuta el stage final por defecto.
  4. Sube la imagen y arranca a partir de ella el proceso web.

Las variables de entorno marcadas como Build en la pestaña Environment se pasan como build args de Docker (ARG). Las variables de runtime se aplican cuando arranca el proceso, en el siguiente despliegue. Los secrets quedan en modo solo escritura una vez guardados.

Los secrets de BuildKit (RUN --mount=type=secret) no están soportados. Pon los valores que necesites durante la build en esas variables Build.

Escucha y health check

Nodion no define PORT en una app con Dockerfile. Esa variable es para los buildpacks. Haz que tu servidor escuche en el puerto del proceso web (el de EXPOSE o el que configures en Processes). Si esa lista está vacía, Nodion usa el EXPOSE de la imagen y, si no hay, 8080.

Escucha en todas las interfaces, no solo en localhost. El arranque por defecto es el CMD / ENTRYPOINT de la imagen. Si lo necesitas, sobrescribe el comando en el proceso.

La comprobación de readiness es un HTTP GET al Health check path de Settings (por defecto /) en el puerto web. Una respuesta 2xx o 3xx se considera válida. Un HEALTHCHECK de Docker en la imagen se ignora.

Se respeta el USER de la imagen. Un nombre de usuario desconocido hace que falle el despliegue.

Dale a tu agente un cloud.

Hasta 15 € de crédito al registrarte.

Continuar con GitHub

o con tu email

Mantente al día.

Novedades del producto, sin spam. Puedes darte de baja cuando quieras.