Generar Archivos Docker Compose

Constructor visual de docker-compose.yml con plantillas de servicios para Postgres, MySQL, Redis, MongoDB, Nginx, Node.js, Python, Elasticsearch y RabbitMQ.

Construye archivos docker-compose.yml visualmente usando plantillas preconfiguradas para tecnologías populares como Postgres, MySQL, Redis, MongoDB, Nginx, Node.js, Python, Elasticsearch y RabbitMQ. Configura puertos, variables de entorno, volúmenes y relaciones depends_on a través de una interfaz intuitiva; luego exporta YAML válido generado con js-yaml. Todo el procesamiento se ejecuta localmente en tu navegador para total privacidad.

Tus datos no salen de tu navegador
¿Te ha sido útil esta herramienta?
Tutorial

Cómo usar

1
1

Añadir un servicio desde plantillas

Haz clic en Añadir servicio y selecciona una plantilla como Postgres, Redis o Nginx para completar automáticamente la imagen, puertos y variables de entorno.

2
2

Configurar los ajustes del servicio

Personaliza el nombre del servicio, la etiqueta de imagen, los mapeos de puertos, las variables de entorno y los montajes de volúmenes según tu proyecto.

3
3

Establecer dependencias entre servicios

Usa el campo Depende de para declarar el orden de inicio entre servicios, asegurando que las bases de datos arranquen antes que los contenedores de aplicación.

4
4

Exportar o descargar el YAML

Revisa la salida docker-compose.yml generada, luego cópiala al portapapeles o descarga el archivo directamente a tu directorio de proyecto.

Guide

Guía completa de Docker Compose

Qué es Docker Compose

Docker Compose es una herramienta para definir y ejecutar aplicaciones Docker multi-contenedor usando un solo archivo de configuración YAML. En lugar de ejecutar comandos docker run individuales con flags complejos, declaras todos los servicios, redes y volúmenes en un archivo. Esto hace que los entornos sean reproducibles en desarrollo, pruebas y producción; cualquier miembro del equipo puede levantar todo el stack con un solo comando docker compose up.

Elementos esenciales de configuración de servicios

Cada servicio en un archivo docker-compose.yml especifica una imagen, mapeos de puertos, variables de entorno y volúmenes. Las imágenes definen la base del contenedor; los puertos exponen servicios internos al host; las variables de entorno pasan configuración como credenciales de base de datos; los volúmenes persisten datos más allá del ciclo de vida del contenedor. Comprender estos cuatro bloques permite configurar cualquier aplicación contenedorizada correctamente.

Gestión de dependencias entre servicios

La directiva depends_on controla el orden de inicio de servicios para que bases de datos y brokers de mensajes se inicialicen antes que los contenedores de aplicación. Sin embargo, depends_on solo espera el inicio del contenedor, no la disponibilidad del servicio. Para configuraciones de producción, combina depends_on con healthchecks o scripts wait-for-it para asegurar que los servicios estén aceptando conexiones antes de que los contenedores dependientes comiencen.

Mejores prácticas para archivos Compose

Usa volúmenes nombrados en lugar de bind mounts para persistencia de bases de datos y evitar problemas de permisos entre sistemas operativos. Mantén variables de entorno en archivos .env separados referenciados por env_file para no comprometer secretos. Fija etiquetas de imagen a versiones específicas en lugar de usar latest para asegurar builds reproducibles. Agrupa servicios relacionados lógicamente y usa profiles para iniciar subconjuntos selectivamente.

Examples

Ejemplos resueltos

Ejemplo: App Node.js con Postgres y Redis

Dado: Una aplicación Node.js que necesita una base de datos Postgres y caché Redis para desarrollo local.

1

Paso 1: Añade un servicio Postgres desde la plantilla y establece POSTGRES_PASSWORD como devpass.

2

Paso 2: Añade un servicio Redis desde la plantilla con el puerto predeterminado 6379.

3

Paso 3: Añade un servicio Node.js, establece la imagen como node:20, mapea el puerto 3000:3000 y añade depends_on para postgres y redis.

4

Paso 4: Haz clic en Descargar para guardar el archivo docker-compose.yml.

Resultado: Un docker-compose.yml válido con tres servicios, orden de dependencias correcto y montajes de volúmenes predeterminados para persistencia de datos de Postgres.

Ejemplo: Proxy inverso Nginx con API Python

Dado: Una API Flask en Python que necesita un proxy inverso Nginx y una base de datos MongoDB.

1

Paso 1: Añade un servicio MongoDB desde la plantilla con un volumen persistente para /data/db.

2

Paso 2: Añade un servicio Python con puerto 5000:5000 y depends_on configurado a mongodb.

3

Paso 3: Añade un servicio Nginx, mapea el puerto 80:80 y establece depends_on al servicio python.

4

Paso 4: Copia la salida YAML generada a tu proyecto.

Resultado: Un archivo compose de tres servicios con Nginx enrutando tráfico a la API Python, que se conecta a MongoDB con almacenamiento persistente.

Casos de uso

Casos de uso

Entorno de desarrollo full-stack

Ensambla un stack de desarrollo local completo con un servidor de aplicación Node.js, una base de datos Postgres y una caché Redis. El generador maneja el mapeo de puertos y el orden de dependencias para que tu contenedor de aplicación espere a que la base de datos esté lista antes de iniciar, eliminando errores de edición manual de YAML.

Prototipado de arquitectura de microservicios

Crea rápidamente una arquitectura multi-servicio con contenedores separados para un gateway API usando Nginx, servicios backend en Python y Node.js, e infraestructura compartida como RabbitMQ para mensajería. La configuración visual facilita experimentar con diferentes topologías de servicio sin memorizar la sintaxis YAML.

Configuración de migración y pruebas de bases de datos

Crea entornos de base de datos aislados para pruebas de migración levantando contenedores de Postgres, MySQL y MongoDB simultáneamente. Configura cada uno con variables de entorno específicas y volúmenes persistentes para probar migraciones de esquema en múltiples motores sin afectar datos de producción.

Preguntas frecuentes

?¿Qué plantillas de servicios están disponibles?

Las plantillas incluyen Postgres, MySQL, Redis, MongoDB, Nginx, Node.js, Python, Elasticsearch y RabbitMQ; cada una preconfigurada con ajustes predeterminados adecuados.

?¿Puedo personalizar el YAML generado después de exportarlo?

Sí. La salida es sintaxis estándar de docker-compose.yml. Puedes copiarla o descargarla y editarla libremente en cualquier editor de texto antes de ejecutarla.

?¿La herramienta valida conflictos de puertos entre servicios?

La herramienta genera el YAML según la configuración. Debes verificar que los mapeos de puertos del host no se superpongan para evitar conflictos al ejecutar docker compose up.

?¿Qué versión de Docker Compose genera la salida?

El archivo generado usa el formato moderno de especificación Compose, compatible con Docker Compose V2 y las últimas versiones de Docker Desktop.

?¿Puedo añadir servicios personalizados que no estén en las plantillas?

Sí. Añade un servicio en blanco y especifica manualmente el nombre de imagen, puertos, variables de entorno y volúmenes para cualquier imagen Docker.

?¿Mis datos de configuración son privados al usar esta herramienta?

Sí. Toda la generación de YAML se ejecuta completamente en tu navegador usando JavaScript. Ningún dato de configuración se envía a ningún servidor, garantizando total privacidad.

?¿Esta herramienta es gratuita?

Sí. Este generador de Docker Compose es completamente gratuito sin límites de uso, sin registro necesario y sin restricciones en los archivos generados.

?¿Cómo configuro la persistencia de volúmenes para bases de datos?

Usa el botón Añadir volumen para mapear un volumen nombrado o ruta del host al directorio de datos del contenedor; por ejemplo, pgdata:/var/lib/postgresql/data para Postgres.

Ayúdanos a mejorar

¿Qué te parece esta herramienta?

Cada herramienta de Kitmul se construye a partir de peticiones reales de usuarios. Tu valoración y tus sugerencias nos ayudan a arreglar bugs, añadir funciones que faltan y construir las herramientas que realmente necesitas.

Valora esta herramienta

Pulsa una estrella para contarnos lo útil que te ha resultado.

Sugiere una mejora o reporta un bug

¿Te falta alguna función? ¿Has encontrado un fallo? ¿Tienes una idea? Cuéntanoslo y lo revisaremos.

Herramientas relacionadas

Lectura Recomendada

Libros recomendados sobre Docker, contenedores y DevOps

Como asociado de Amazon, ganamos con las compras que califican.

Potencia tus Capacidades

Productos profesionales para mejorar tu flujo de trabajo DevOps

Como asociado de Amazon, ganamos con las compras que califican.

Boletín

Recibe Consejos de Productividad y Nuevas Herramientas Primero

Únete a creadores y desarrolladores que valoran la privacidad. En cada edición: nuevas herramientas, trucos de productividad y novedades — sin spam.

Acceso prioritario a nuevas herramientas
Cancela en cualquier momento, sin preguntas