Generador de Docker Compose gratis

Genera archivos docker-compose.yml con servicios comunes. Gratis, rápido y funciona por completo en tu navegador sin necesidad de registro.

Actualizado

Share:
Home/Developer Tools/Docker Compose Generator

Docker Compose Generator

Generate docker-compose.yml files visually. Add services from templates or build custom stacks with full configuration.

Docker Compose Builder

0 services0 volumes0 networks

No services added yet

Use the Stacks or Add tab to get started

docker-compose.yml

{}

Preguntas Frecuentes

¿Qué es el Docker Compose Generator?

El Docker Compose Generator es una herramienta en línea gratuita que crea archivos docker-compose.yml con servicios preconfigurados como bases de datos, cachés y servidores web.

¿El Docker Compose Generator es gratis?

Sí, es completamente gratis y no requiere registro. Toda la generación de archivos se realiza en el lado del cliente, dentro de tu navegador.

¿Qué servicios están disponibles?

El Docker Compose Generator incluye plantillas para PostgreSQL, MySQL, MongoDB, Redis, Nginx, Node.js y muchos otros servicios populares.

¿Mis datos están seguros con esta herramienta?

Por supuesto. El Docker Compose Generator procesa todo en el lado del cliente, dentro de tu navegador. No se sube ni se almacena ningún dato en ningún servidor. Tu contenido permanece privado en tu dispositivo en todo momento.

¿El Docker Compose Generator funciona en dispositivos móviles?

Sí, el Docker Compose Generator es totalmente adaptable y funciona en smartphones y tablets. Puedes usarlo en cualquier dispositivo con un navegador web moderno, sin necesidad de descargar ninguna app.

¿Necesito crear una cuenta para usar esta herramienta?

No se necesita ninguna cuenta ni registro. Simplemente abre el Docker Compose Generator en tu navegador y empieza a usarlo de inmediato. No hay muros de registro ni restricciones de uso.

¿Qué lenguajes de programación o formatos admite?

El Docker Compose Generator admite una amplia gama de formatos y lenguajes populares. Consulta la interfaz de la herramienta para ver la lista completa de opciones disponibles.

¿Cómo uso el Docker Compose Generator?

Solo tienes que introducir tu entrada en el campo indicado, ajustar la configuración a tu gusto y la herramienta la procesará al instante. Después puedes copiar el resultado al portapapeles o descargarlo.

¿Qué navegadores son compatibles?

El Docker Compose Generator funciona en todos los navegadores modernos, incluidos Chrome, Firefox, Safari, Edge y Opera. Para una mejor experiencia, usa la última versión de tu navegador preferido.

¿Qué versión de archivo Docker Compose debería elegir, y por qué la 3.8 omite la clave version?

El generador te permite apuntar a las versiones de archivo Compose 2.4, 3, 3.7, 3.8 o 3.9. Las versiones 2.x y la línea heredada 3.x requerían un campo "version:" a nivel superior en la parte de arriba del archivo, pero la Compose Specification moderna lo eliminó por completo. Por eso al seleccionar 3.8 aquí se produce un archivo sin la clave "version:" — el Docker Compose actual (el plugin "docker compose") lee la especificación y trata ese campo como obsoleto, mostrando una advertencia si está presente. Elige 2.4 solo si dependes de funciones más antiguas como "mem_limit" por servicio sin un bloque deploy; de lo contrario, elige 3.8 para obtener el resultado más limpio y preparado para el futuro. Configura tu versión objetivo en la herramienta y el YAML generado ajusta su estructura automáticamente para que el archivo funcione sin advertencias de obsolescencia.

¿Cómo convierto un comando docker run en un archivo docker-compose.yml?

Pega tu comando "docker run" existente en el cuadro de importación y el generador analiza los flags más comunes para convertirlos en un servicio Compose por ti. Lee el nombre de la imagen, los mapeos de puerto host-a-contenedor con "-p", las variables de entorno con "-e", los montajes de volumen con "-v" y el "--name" que asignaste, y luego los escribe como claves YAML correctamente indentadas. Esto es útil cuando tienes una línea de comando funcional de un tutorial o de tu historial de shell y quieres un archivo reutilizable y versionable en lugar de un comando desechable. Después de importar puedes seguir editando — añadir una política de reinicio, depends_on o un healthcheck — y la vista previa en vivo se actualiza a medida que avanzas. Convierte comandos de contenedor en los que ya confías en un archivo declarativo que puedes confirmar en tu control de versiones y ejecutar con un solo "docker compose up" desde la herramienta.

¿Cuál es la diferencia entre depends_on y un healthcheck para controlar el orden de arranque?

Resuelven problemas relacionados pero distintos. "depends_on" solo controla el orden en que arrancan los contenedores — hace que Docker lance primero una dependencia, pero no espera a que ese servicio esté listo para aceptar conexiones, así que un contenedor de base de datos puede estar "iniciado" mientras todavía se está inicializando. Un healthcheck define un comando de prueba, un intervalo, un tiempo de espera, reintentos y un periodo de inicio que informan si un servicio está realmente saludable. Combinar ambos — depends_on con una "condition: service_healthy" contra un healthcheck definido — es lo que hace que un servicio espere hasta que otro esté verdaderamente listo. Este generador te permite configurar enlaces depends_on y healthchecks completos por servicio, y su validador advierte si una entrada depends_on apunta a un servicio que no existe. Configura ambos en tu stack desde la herramienta para que los contenedores arranquen en una secuencia fiable y consciente de las dependencias.

¿Por qué obtengo un error de conflicto de puerto o de volumen no definido en mi archivo compose?

Ambos son errores comunes que el validador integrado señala antes de que lo haga "docker compose up". Un conflicto de puerto ocurre cuando dos servicios enlazan el mismo puerto de host — por ejemplo, dos servicios mapeando ambos "8080:80" — ya que solo un proceso puede escuchar en un puerto de host determinado a la vez; cambia uno de los lados, como "8081:80", para solucionarlo. Un error de volumen no definido significa que un servicio referencia un volumen con nombre que nunca se declaró a nivel superior del archivo, por lo que Compose no puede crearlo. El generador detecta esto en línea mientras editas, junto con servicios sin nombre o sin imagen, nombres de servicio duplicados, objetivos de depends_on que no existen y mapeos de puerto sin su lado de contenedor. Presta atención a las advertencias de validación en la herramienta y resuélvelas antes de copiar, para que tu stack arranque limpio desde la primera vez.

¿Cuál es la diferencia entre un volumen con nombre y un bind mount en Docker Compose?

Un volumen con nombre es almacenamiento que Docker crea y gestiona por sí mismo; lo declaras una vez bajo la sección "volumes:" a nivel superior y lo referencias por nombre, y Docker decide dónde viven físicamente los datos. Es la opción adecuada para los datos de bases de datos y otro estado que quieras conservar y respaldar sin preocuparte por la ruta del host. Un bind mount mapea un directorio o archivo específico del host directamente dentro del contenedor usando una ruta de host, como "./config:/etc/app" — ideal para inyectar archivos de configuración o recargar en vivo el código fuente durante el desarrollo. Los volúmenes con nombre son más portables entre máquinas; los bind mounts te dan acceso directo a los archivos en el host. Este generador admite ambos tipos y advierte cuando un servicio usa un volumen con nombre que olvidaste definir a nivel superior. Configura cualquiera de los dos tipos por servicio en la herramienta y observa el YAML escrito correctamente.

Acerca del Generador de Docker Compose

El Generador de Docker Compose es un creador visual y gratuito de archivos docker-compose.yml. En lugar de tener que recordar la indentación de YAML, las etiquetas de imagen y los nombres de variables de entorno, ensamblas servicios desde una interfaz de apuntar y hacer clic mientras observas cómo el archivo compose se escribe solo en una vista previa en vivo. Está pensado para desarrolladores que levantan un stack local, ingenieros de DevOps prototipando un despliegue y cualquiera que esté aprendiendo Docker y quiera partir de un archivo correcto en lugar de un editor en blanco.

Todo se ejecuta en tu navegador. No se sube a ningún lado ninguna definición de servicio, puerto o valor de entorno — no hay registro, no hay cuenta y no se guarda nada en un servidor. Puedes construir un stack completo con múltiples servicios, copiarlo o descargarlo como docker-compose.yml, todo en tu propio equipo.

Qué puedes construir

El generador te da tres formas de añadir servicios. Puedes usar un stack ya armado, elegir de una biblioteca de plantillas de un solo servicio, o definir un servicio desde cero.

  • Stacks preconfigurados — siete combinaciones habituales están a un clic de distancia: LAMP, MEAN, WordPress, Redis + Node, PostgreSQL + API y una configuración de proxy inverso con Nginx, cada una conectada con los puertos, volúmenes y enlaces correctos.
  • Plantillas de servicio — 22 servicios configurados individualmente, agrupados en ocho categorías: bases de datos (PostgreSQL, MySQL, MariaDB, MongoDB, CockroachDB), cachés (Redis, Memcached, Valkey), proxies inversos (Nginx, Traefik, Caddy), monitorización (Prometheus, Grafana, Loki), mensajería (RabbitMQ, Kafka, NATS), almacenamiento (MinIO, Elasticsearch), autenticación (Keycloak) y entornos de ejecución de aplicaciones (Node, Python).
  • Servicios personalizados — parte de un servicio vacío y completa solo lo que necesites.

Configuración que admite cada servicio

Cada servicio expone los campos que realmente usas en archivos compose reales, no solo una imagen y un puerto:

  • Imagen o build — referencia una imagen publicada, o cambia a un bloque build con un contexto, un Dockerfile y argumentos de compilación.
  • Puertos — mapea puertos de host a contenedor, con el generador señalando conflictos entre servicios.
  • Variables de entorno, volúmenes y redes — incluidos volúmenes con nombre y redes personalizadas gestionadas a nivel superior.
  • Política de reinicio, comando y depends_on — controla el orden de arranque y el comando por defecto.
  • Etiquetas y healthchecks — añade etiquetas de Docker (útiles para el enrutamiento con Traefik) y un healthcheck con test, intervalo, tiempo de espera, reintentos y periodo de inicio.

También puedes elegir la versión del archivo Compose — 2.4, 3, 3.7, 3.8 o 3.9. Seleccionar 3.8 produce el formato moderno sin la clave version: a nivel superior, que es lo que espera el Docker Compose actual.

Importa, valida y despliega

Si ya ejecutas un contenedor con un comando docker run largo, pégalo en el cuadro de importación y el generador analiza los flags — la imagen, los puertos -p, las variables de entorno -e, los volúmenes -v y el nombre — y los convierte en un servicio compose. Esto transforma una línea de comando desechable en un archivo reutilizable y versionable.

Mientras editas, un validador integrado muestra advertencias en línea para que detectes errores antes de que lo haga docker compose up:

  • Un servicio sin nombre o sin imagen (cuando build no está habilitado).
  • Una entrada depends_on que apunta a un servicio que no existe.
  • Dos servicios que enlazan el mismo puerto de host.
  • Un volumen con nombre usado por un servicio pero nunca definido a nivel superior.
  • Nombres de servicio duplicados, o un mapeo de puerto sin su lado de contenedor.

Por qué generar archivos compose de esta manera

Un archivo docker-compose.yml es una única descripción declarativa de los servicios, redes y volúmenes de una aplicación, de modo que todo el stack arranca con un solo docker compose up y se detiene con la misma limpieza. Rara vez el problema es el concepto — es el YAML, donde un espacio de más o una definición de volumen olvidada rompe la ejecución. Construir el archivo de forma visual, con salida en vivo y validación, te da un archivo correcto y listo para copiar en una fracción del tiempo, ya sea que estés arrancando un proyecto nuevo, documentando un entorno de desarrollo o enseñando Docker a tu equipo.