Study Case: Menjalankan Aplikasi 3-tier dengan Docker Compose
Mari kita buat contoh Docker Compose yang lebih kompleks untuk menggambarkan aplikasi tiga-tier (tiga lapisan) yang umum, yaitu:
Web Server: Menangani permintaan HTTP dari pengguna.
Database: Menyimpan data aplikasi.
Cache: Menyimpan data yang sering diakses untuk meningkatkan kinerja.
docker-compose.yml:
YAML
version: '3.7'
services:
web:
build: .
ports:
- "80:80"
depends_on:
- db
- redis
db:
image: postgres
environment:
POSTGRES_PASSWORD: mysecretpassword
volumes:
- db_data:/var/lib/postgresql/data
redis:
image: redis
volumes:
- redis_data:/data
volumes:
db_data:
redis_data:Use code with caution.
Penjelasan:
Tiga layanan:
web,db, danredismewakili masing-masing lapisan.Dependensi:
webbergantung padadbdanredisuntuk memastikan layanan database dan cache sudah berjalan sebelum web server dimulai.Volume:
db_datadanredis_dataadalah volume yang digunakan untuk persistensi data. Data yang disimpan di volume ini tidak akan hilang saat container dihentikan atau dihapus.db_dataakan di-mount ke direktori data PostgreSQL di dalam container database.redis_dataakan di-mount ke direktori data Redis di dalam container Redis.
Last updated