- Published on
Docker Series — Episode 4: Docker Compose untuk Aplikasi Multi-Service
- Authors

- Name
- Chalvin Wiradhika
Episode 4 — Docker Compose untuk Aplikasi Multi‑Service 🧩
Episode ini membahas Docker Compose — tool yang digunakan untuk mengelola beberapa container dalam satu definisi konfigurasi.
Compose mempermudah penggunaan stack yang terdiri dari beberapa service seperti:
- API backend
- database
- cache
- reverse proxy
🔹 Konsep Dasar Docker Compose
Docker Compose menggunakan file konfigurasi bernama docker-compose.yml.
Di dalamnya kita mendefinisikan:
- daftar service
- image atau build context
- port mapping
- environment variable
- volume
- network
🔹 Contoh Sederhana — Web App + Database
version: "3.9"
services:
app:
build: .
container_name: demo-app
ports:
- "3000:3000"
environment:
- DB_HOST=db
- DB_USER=user
- DB_PASS=secret
depends_on:
- db
db:
image: postgres:15
container_name: demo-db
environment:
POSTGRES_USER: user
POSTGRES_PASSWORD: secret
POSTGRES_DB: appdb
volumes:
- dbdata:/var/lib/postgresql/data
volumes:
dbdata:
🔹 Menjalankan Stack Compose
Menjalankan semua service:
docker compose up
Mode background:
docker compose up -d
Melihat daftar container Compose:
docker compose ps
Menghentikan semua service:
docker compose down
Menghapus volume saat shutdown:
docker compose down -v
🔹 Environment Variable dan .env
Compose mendukung penggunaan file .env.
Contoh:
APP_PORT=3000
DB_PASSWORD=secret123
Penggunaan di docker-compose.yml:
ports:
- "${APP_PORT}:3000"
File .env tidak ikut masuk image sehingga aman untuk konfigurasi environment.
🔹 Volume untuk Penyimpanan Data Persisten
Volume digunakan untuk menyimpan data yang tidak boleh hilang saat container dihentikan.
Contoh:
volumes:
- dbdata:/var/lib/postgresql/data
Volume akan tetap ada meskipun container dihapus.
🔹 Perbedaan docker run vs Docker Compose
| docker run | docker compose |
|---|---|
| Fokus satu container | Fokus multi‑service |
| Command‑based | File‑based (declarative) |
| Kurang praktis untuk stack besar | Lebih mudah dikelola |
Compose sangat bermanfaat untuk:
- environment development
- local testing
- simulasi arsitektur microservice kecil
📌 Ringkasan Konsep Episode Ini
Pada episode ini kamu telah mempelajari:
- konsep Docker Compose
- struktur file
docker-compose.yml - menjalankan beberapa service sekaligus
- penggunaan volume & environment variable
Episode terakhir akan membahas:
👉 best practice, keamanan dasar, dan tips penggunaan Docker di lingkungan production