Fitur Lanjutan Docker Compose
Dalam aplikasi dunia nyata, layanan memiliki urutan ketergantungan (misal: Backend API tidak boleh berjalan sebelum Database PostgreSQL siap menerima koneksi).
1. Ketergantungan Layanan (depends_on & healthcheck)
services:
db:
image: postgres:alpine
environment:
POSTGRES_PASSWORD: secret
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"]
interval: 5s
timeout: 5s
retries: 5
backend:
build: .
ports:
- "8000:8000"
depends_on:
db:
condition: service_healthy
2. Restart Policies
restart: always- Selalu restart kontainer jika mati/crash.restart: unless-stopped- Restart kontainer kecuali dihentikan secara manual oleh admin.
3. Scaling Services
Kita dapat menduplikasi instance kontainer worker atau backend dengan mudah:
docker compose up -d --scale backend=3