Docker Compose je víc než “docker compose up”. Tady je 10 pokročilých technik.
1. Profiles¶
services:
debug:
profiles: [debug]
docker compose –profile debug up¶
2. YAML anchors¶
x-common: &common
restart: unless-stopped
services:
app:
<<: *common
3. Health checks + depends_on¶
services:
db:
healthcheck:
test: [“CMD-SHELL”, “pg_isready”]
app:
depends_on:
db: { condition: service_healthy }
4. Env files¶
env_file: [.env, .env.local]
5. Named volumes¶
volumes:
pgdata:
services:
db:
volumes: [“pgdata:/var/lib/postgresql/data”]
6. Internal networks¶
networks:
backend: { internal: true }
7. Resource limits¶
deploy:
resources:
limits: { memory: 512M, cpus: “1.0” }
8. Multi-file compose¶
docker compose -f compose.yml -f compose.prod.yml up
9. Init containers¶
migrate:
command: [“python”, “manage.py”, “migrate”]
app:
depends_on:
migrate: { condition: service_completed_successfully }
10. Watch mode¶
develop:
watch:
- action: sync
path: ./src
target: /app/src
Tip¶
Profiles pro dev/prod, health checks pro pořadí startu, YAML anchors proti duplicitě.