Patrones Docker
Buenas prácticas de Docker y Docker Compose para desarrollo en contenedores.
Cuándo Activar
- Configurar Docker Compose para desarrollo local
- Diseñar arquitecturas de múltiples contenedores
- Resolver problemas de networking o volúmenes de contenedores
- Revisar Dockerfiles para seguridad y tamaño
- Migrar de desarrollo local a flujo de trabajo en contenedores
Docker Compose para Desarrollo Local
Stack Estándar de Aplicación Web
# docker-compose.yml
services:
app:
build:
context: .
target: dev # Usar etapa dev del Dockerfile multi-stage
ports:
- "3000:3000"
volumes:
- .:/app # Bind mount para hot reload
- /app/node_modules # Volumen anónimo -- preserva deps del contenedor
environment:
- DATABASE_URL=postgres://postgres:postgres@db:5432/app_dev
- REDIS_URL=redis://redis:6379/0
- NODE_ENV=development
depends_on:
db:
condition: service_healthy
redis:
condition: service_started
command: npm run dev
db:
image: postgres:16-alpine
ports:
- "5432:5432"
environment:
…