Herramienta para definir y ejecutar aplicaciones multi-contenedor con un archivo YAML, simplificando el desarrollo local de sistemas con múltiples servicios.
Docker Compose es una herramienta para definir y ejecutar aplicaciones que consisten en múltiples contenedores Docker. Un archivo compose.yaml describe todos los servicios, redes y volúmenes, y un solo comando los levanta todos.
services:
web:
build: .
ports:
- "3000:3000"
depends_on:
- db
environment:
DATABASE_URL: postgres://db:5432/app
db:
image: postgres:16
volumes:
- pgdata:/var/lib/postgresql/data
environment:
POSTGRES_DB: app
volumes:
pgdata:docker compose up: levantar todos los serviciosdocker compose up -d: levantar en backgrounddocker compose down: detener y eliminar contenedoresdocker compose logs -f: seguir logs de todos los serviciosdocker compose exec web sh: shell en un servicio| Aspecto | Docker Compose | Kubernetes |
|---|---|---|
| Propósito | Desarrollo local, CI | Producción, orquestación a escala |
| Complejidad | Baja — un archivo YAML | Alta — múltiples recursos (Deployments, Services, Ingress) |
| Escalado | Manual (scale: 3) | Automático (HPA, VPA) |
| Networking | Red bridge por defecto | CNI plugins, service discovery |
| Estado | Stateful con volúmenes locales | StatefulSets, PersistentVolumes |
| Migración | — | Kompose convierte compose files a manifiestos K8s |
Docker Compose permite definir aplicaciones multi-contenedor como código. Para desarrollo local, reemplaza scripts de setup complejos con un solo comando que levanta bases de datos, caches y servicios auxiliares en el orden correcto.
Plataforma de contenedores que empaqueta aplicaciones con todas sus dependencias en unidades portables y consistentes que se ejecutan igual en cualquier entorno.
Prácticas y herramientas para crear entornos de desarrollo productivos en la máquina del desarrollador, replicando producción lo más fielmente posible.