Saltar al contenido

Generador de Dockerfile

Crea un Dockerfile listo para producción para tu lenguaje, con compilaciones multietapa y valores predeterminados sensatos.

Salida

Generador de Dockerfile

Selecciona un lenguaje y esta herramienta ensambla un Dockerfile a su alrededor — la imagen base, la instalación de dependencias y el comando que inicia la aplicación — en lugar de empezar desde un archivo en blanco o copiar uno de un proyecto antiguo que ya no es válido. Node.js, Python, Go, PHP, Java y sitios estáticos (servidos con nginx) están cubiertos, cada uno con la imagen base y el orden de capas que ese stack normalmente espera.

Las opciones cubren lo que cambia entre proyectos. Elige el gestor de paquetes — npm, Yarn o pnpm para Node; pip o Poetry para Python — para que la capa de instalación copie el archivo de dependencias correcto antes del resto del código fuente, evitando que Docker reinstale las dependencias en cada cambio de código. Activa la compilación multietapa para instalar o compilar en una imagen y copia solo el resultado compilado en una imagen de tiempo de ejecución reducida, sin enviar un compilador o dependencias de desarrollo. Un usuario no administrador, un HEALTHCHECK, el puerto expuesto, el comando de inicio y cualquier variable de entorno se configuran desde el panel, y el .dockerignore mantiene .git y node_modules fuera del contexto de construcción.

Cada capa tiene un breve comentario explicando qué hace y por qué — documentación tanto como una forma de verificar el archivo antes de confirmarlo, y fácil de desactivar una vez que conoces la forma de memoria. La salida se actualiza a medida que cambias cualquier opción, por lo que comparar una compilación de etapa única con una multietapa no requiere regeneración manual.

Nada de lo que escribas aquí sale de tu navegador — el Dockerfile se ensambla completamente del lado del cliente en JavaScript. Copia el resultado, descárgalo como archivo .txt para renombrarlo localmente, o envíalo a la entrada de otra herramienta para seguir trabajando en él.

Preguntas frecuentes

¿El Dockerfile generado realmente se compila?
Sigue el diseño estándar para cada lenguaje — imagen base, instalación de dependencias, copia de código fuente, comando de inicio — pero aún espera que tu proyecto tenga los archivos habituales (package.json, requirements.txt, go.mod, composer.json o pom.xml). Verifica las rutas y comandos contra tu proyecto antes de desplegar.
¿Qué cambia con la opción multietapa?
Con la opción activada, una primera etapa "build" instala dependencias (y compila, para Go y Java) y una segunda etapa copia solo la aplicación terminada en una imagen nueva y minimal — más pequeña y con una superficie de ataque mucho más pequeña que una imagen que mantiene sus herramientas de construcción alrededor.
¿Por qué ejecutar como usuario no administrador?
Un proceso que se ejecuta como root dentro de un contenedor comprometido tiene más capacidad para afectar al host. La opción de usuario no administrador añade un usuario dedicado (o reutiliza el integrado de la imagen, como "node") e cambia a él antes de que el contenedor inicie tu aplicación.
¿Qué va en el campo de variables de entorno?
Una lista separada por comas o saltos de línea de pares KEY=value, por ejemplo NODE_ENV=production, PORT=3000. Cada uno se convierte en su propia instrucción ENV. Déjalo vacío para omitir la sección completamente.
¿Se carga la información de mi proyecto en algún lugar?
No. El Dockerfile se ensambla completamente en tu navegador a partir de las opciones que elijas — nada sobre tu proyecto se envía a un servidor.