Múltiples contenedores
Docker Compose orquesta múltiples contenedores como un solo sistema.
docker-compose.yml
version: '3.8'
services:
app:
build: .
ports:
- "3000:3000"
environment:
- DATABASE_URL=postgres://postgres:secret@db:5432/mydb
depends_on:
- db
- redis
db:
image: postgres:16
environment:
- POSTGRES_PASSWORD=secret
- POSTGRES_DB=mydb
volumes:
- postgres_data:/var/lib/postgresql/data
redis:
image: redis:7
volumes:
postgres_data:
Comandos
# Iniciar todo
docker compose up -d
# Ver logs
docker compose logs -f
# Parar
docker compose down
# Reconstruir
docker compose build --no-cache
docker compose up -d
Networking
Los servicios se comunican por nombre:
// Desde 'app', conectar a 'db'
const db = new Pool({
host: 'db', // Nombre del servicio
port: 5432,
})