Desplegar una app con Dockerfile
Si tu repositorio trae un Dockerfile, Zonda Cloud lo construye tal cual y ejecuta el contenedor. Tu app tiene que escuchar en el puerto de la variable PORT y responder por HTTP.
Puerto y salud
La plataforma toma el puerto de la instrucción EXPOSE de tu Dockerfile (si no hay ninguna, usa 8080) y se lo pasa a tu app en la variable de entorno PORT. Después espera hasta noventa segundos a que la app responda por HTTP en ese puerto; si no responde, el despliegue falla y el log incluye la última salida del contenedor.
Un error frecuente es que la app escuche solo en 127.0.0.1: tiene que escuchar en 0.0.0.0, o el puerto publicado rechaza las conexiones.
Ejemplo mínimo (Node.js)
FROM node:22-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --omit=dev
COPY . .
EXPOSE 3000
CMD ["node", "server.js"]
En server.js, escuchá en process.env.PORT y en 0.0.0.0.
Variables, logs y volver atrás
- Las variables de entorno se cargan en la consola, se guardan cifradas y sus valores se enmascaran en los logs. Se aplican en el próximo despliegue.
- Ves el build y los logs de la app en vivo.
- Podés volver a una versión anterior sin recompilar.
- El resultado de cada despliegue aparece como estado del commit en GitLab o GitHub.
Qué no está permitido
Las apps de usuarios corren con un perfil restringido: sin privilegios de administración del sistema, sin acceso al socket de Docker, con topes de procesos, de archivos abiertos y de memoria,. Los builds también tienen límites de tiempo, de memoria y de tamaño del código y de la imagen. Una imagen base pública funciona; una imagen del registro interno de la plataforma, no.
Si el repositorio no tiene Dockerfile y no es un sitio estático, el despliegue falla con un mensaje que pide agregar un Dockerfile.