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ě.