Docker Compose
Herramienta para definir y ejecutar aplicaciones multi-contenedor con un archivo YAML, simplificando el desarrollo local de sistemas con múltiples servicios.
seed#docker-compose#docker#local-development#yaml#multi-container#devops
¿Qué es?
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.
compose.yaml básico
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:Comandos esenciales
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
Casos de uso
- Desarrollo local de microservicios
- Ambientes de testing con dependencias reales
- Demos y prototipos rápidos
- CI/CD para tests de integración
Compose vs Kubernetes
| 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 |
¿Por qué importa?
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.
Referencias
- Docker Compose Documentation — Documentación oficial.
- Compose File Reference — Docker, 2024. Referencia completa del formato de archivo.
- Docker Overview — Docker, 2024. Contexto general de Docker y Compose.