Docker mengubah cara kita mengemas, mendistribusikan, dan menjalankan aplikasi: dari laptop developer sampai cluster produksi. Pada Course ini, kita akan mempelajari Docker secara menyeluruh — mulai dari konsep container dan instalasi, Dockerfile dan optimasi build, storage serta jaringan, Docker Compose untuk aplikasi multi-service, keamanan dan observability, sampai deployment, CI/CD, dan orchestration.

Setiap topik dibedah dengan contoh perintah nyata, output yang realistis, dan penjelasan mekanisme di balik layar, lima proyek utuh di akhir course menyatukan seluruh materi menjadi aplikasi yang benar-benar berjalan.

Bab 10 Docker Compose

# Pengantar Docker Compose

Kenalkan docker compose: dari deretan docker run panjang ke satu berkas deklaratif.

Buka →
# Struktur compose.yaml

Bedah blok top-level compose.yaml, aturan indentasi, dan validasi dengan compose config.

Buka →
# Service

Pahami service sebagai cetakbiru container beserta kunci konfigurasinya yang paling sering dipakai.

Buka →
# Image, Build, dan Pull

Kelola sumber image service: image siap pakai, build dari Dockerfile, dan pull policy.

Buka →
# Port dan Network

Atur ports, expose, dan network antar service di compose.yaml.

Buka →
# Volume dan Bind Mount

Persistikan data service dengan volume bernama dan bind mount di compose.yaml.

Buka →
# Environment dan env File

Kelola environment variable service lewat environment, env_file, dan interpolasi .env.

Buka →
# depends_on dan Startup Order

Atur urutan start service dengan depends_on dan kondisi kesehatannya.

Buka →
# Healthcheck dan Service Readiness

Pastikan service benar-benar siap dengan healthcheck di compose.yaml.

Buka →
# Config dan Secret

Suntikkan berkas konfigurasi dan rahasia ke service dengan configs dan secrets.

Buka →
# Profiles

Aktifkan service opsional per skenario dengan compose profiles.

Buka →
# Variable Interpolation

Parametrisasi compose.yaml dengan ${VAR}, nilai default, dan pesan error yang jelas.

Buka →
# Compose Watch

Sinkronkan source code ke container dan rebuild otomatis dengan develop.watch.

Buka →
# Menjalankan dan Mengelola Stack

Kendalikan stack dengan up, ps, logs, exec, down, dan scale sehari-hari.

Buka →
# Compose Override dan Environment

Pisahkan konfigurasi dev dan produksi dengan file override dan aturan mergenya.

Buka →