Docker Compose
Mengelola multi-container dengan Docker Compose
Apa itu Docker Compose
- Alat untuk menjalankan dan mengelola banyak container sekaligus
- Menggunakan file konfigurasi
docker-compose.yml - Memudahkan orkestrasi aplikasi yang terdiri dari beberapa layanan
Konsep Dasar
Service
- Definisi container yang akan dijalankan
- Setiap service memiliki nama dan konfigurasi sendiri
- Service dapat berkomunikasi satu sama lain dalam satu network
Volume
- Penyimpanan persisten yang dibagikan antar container
- Data tetap tersimpan meski container dihapus
- Didefinisikan di bagian
volumes
Network
- Jaringan internal untuk komunikasi antar service
- Service dalam satu network dapat saling berkomunikasi dengan nama service
Contoh docker-compose.yml
version: '3.8'
services:
web:
build: .
ports:
- "3000:3000"
environment:
- NODE_ENV=production
depends_on:
- db
db:
image: postgres:15-alpine
environment:
POSTGRES_USER: user
POSTGRES_PASSWORD: password
POSTGRES_DB: mydb
volumes:
- db-data:/var/lib/postgresql/data
volumes:
db-data:Perintah Docker Compose
docker compose up— membuat dan menjalankan semua servicedocker compose up -d— menjalankan di backgrounddocker compose down— menghentikan dan menghapus containerdocker compose ps— melihat status servicedocker compose logs— melihat log dari servicedocker compose build— membuild ulang image
Keuntungan Menggunakan Docker Compose
- Satu file konfigurasi untuk seluruh aplikasi
- Mudah menjalankan lingkungan development yang kompleks
- Service dapat saling bergantung dengan
depends_on - Konfigurasi environment terpusat dalam satu file