Generador de Docker Compose: crea un archivo compose.yaml

Marca los servicios que necesites —aplicación, base de datos, caché, interfaz de administración, receptor de correo— y obtén un archivo `compose.yaml` limpio con imágenes fijadas, volúmenes con nombre, comprobaciones de estado y depends_on condiciones, además de un archivo .env a juego con contraseñas generadas.

Actualizado el

1. Servicios

2. Configuración

compose.yaml
.env

Empieza con docker compose up -d, sigue los registros con docker compose logs -f. Mantén .env fuera de Git — el Generador de .gitignore te lo añade por ti.

Tus datos nunca salen de tu ordenador. Todo se procesa localmente en tu navegador.

Cómo usar: Generador de Docker Compose

  1. Marca los servicios que necesita tu proyecto; por ejemplo, aplicación Node.js + Postgres + Redis + Adminer.
  2. Ajusta los puertos del servidor, los nombres de las bases de datos y los usuarios. Las contraseñas se generan al azar y se guardan en el .env archivo.
  3. Mantén activadas las comprobaciones de estado para que tu aplicación solo se inicie cuando la base de datos acepte conexiones.
  4. Descargar compose.yaml y .env en la carpeta de tu proyecto y ejecuta docker compose up -d.

Qué contiene el archivo generado

PartePor qué está ahí
Etiquetas de imágenes fijadas (postgres:17-alpine)Compilaciones reproducibles: latest pueden saltarse una versión principal y estropear tu base de datos.
Volúmenes con nombreLos datos se conservan docker compose down y las reconstrucciones de contenedores.
healthcheck + depends_on: condition: service_healthyLa app espera hasta que la base de datos esté realmente lista, no solo iniciada.
${VAR} ReferenciasLos secretos se guardan en .env, no en el YAML que subes.
127.0.0.1: Asignaciones de puertosSe puede acceder a las bases de datos desde tu ordenador, pero no desde toda la red.

Ya no hay version:

La clave de nivel superior version: "3.8" ha quedado obsoleta en la especificación de Compose que usa Docker Compose v2; solo genera una advertencia. Los archivos modernos empiezan directamente con services: y suelen llamarse compose.yaml (la antigua docker-compose.yml sigue funcionando).

Los nombres de los servicios son nombres de host

Dentro de la red de Compose, los contenedores se comunican entre sí mediante el nombre del servicio: tu app se conecta a postgres:5432, no localhost:5432. El generador crea DATABASE_URL y REDIS_URL para la aplicación según corresponda.

Herramientas relacionadas

Convierte un docker run en un servicio con «Docker Run to Compose», coloca Nginx delante de tu app con el «Nginx Config Generator», comprueba tu .env con el «.env File Validator» y crea un pipeline de CI con el «GitHub Actions Generator». Valida el YAML con el conversor de YAML a JSON.

También se busca como: generador de compose.yaml, generador de docker-compose.yml, docker compose postgresql, docker compose mysql, docker compose para wordpress, docker compose redis, plantilla de docker compose.

Herramientas que combinan con: Generador de Docker Compose

  • Kubernetes YAML Generator — Fill in your app’s name, image and port and get production-ready Kubernetes YAML: a Deployment with probes, resource limits and a hardened security context, plus the Service, Ingress with TLS, ConfigMap, Secret and HorizontalPodAutoscaler you tick — in one file ready for kubectl apply.
  • YAML Validator — Paste a Docker Compose file, Kubernetes manifest, GitHub Actions workflow or any YAML to pinpoint errors, catch common pitfalls and get a cleanly formatted version.
  • systemd Service Generator — Run your app as a proper Linux service that starts on boot and restarts when it crashes.
  • GitLab CI Generator — Pick your stack and get a working .gitlab-ci.yml: install with caching, lint and test jobs, a build with artifacts, a Docker image pushed to the GitLab registry, or a GitLab Pages deploy — with rules that run pipelines for merge requests and your default branch without duplicates.

Preguntas frecuentes

¿Debería llamar al archivo «compose.yaml» o «docker-compose.yml»?
«compose.yaml» es el nombre recomendado en la especificación de Compose. Docker Compose v2 sigue reconociendo «docker-compose.yml», así que ambos funcionan; eso sí, no los guardes los dos en la misma carpeta.
¿Por qué mi app no se conecta a la base de datos en localhost?
En Compose, cada servicio es un contenedor independiente. Usa el nombre del servicio como host (postgres, mysql, redis) en lugar de localhost. Desde tu propio ordenador, usa localhost y el puerto publicado.
¿Cómo puedo esperar a que la base de datos esté lista?
Haz una comprobación del estado de la base de datos y usa `depends_on` con la condición `service_healthy` en el servicio de la app. El generador hace ambas cosas cuando la opción «Healthchecks» está activada.
¿Son seguras las contraseñas generadas para el entorno de producción?
Son cadenas aleatorias de 20 caracteres generadas en tu navegador, lo cual está bien para el desarrollo. Para el entorno de producción, usa el gestor de secretos de tu plataforma o los secretos de Docker, y nunca subas archivos .env al repositorio.
¿Puedo instalar Generador de Docker Compose como aplicación web y utilizarla sin conexión?
Sí. Generador de Docker Compose es una aplicación web instalable (PWA): se instala desde el navegador, no se descarga desde una tienda de aplicaciones. Haz clic en «Instalar aplicación» en la parte superior de esta página en Chrome o Edge (Windows, macOS, Linux, ChromeOS) o, en Android, utiliza «Compartir» → «Añadir a la pantalla de inicio» en iPhone y iPad, o «Archivo» → «Añadir al Dock» en Safari 17+ en un Mac. A continuación, se abrirá en su propia ventana con su propio icono y, como se ejecuta íntegramente en tu navegador, seguirá funcionando sin conexión. Firefox en el ordenador de sobremesa no permite instalar aplicaciones web. Cómo funciona la instalación.

Herramientas relacionadas