Day 82 Prakerin Di Excellent ~ Docker Compose
Hari ke-82 PKL: Docker Compose
Halo semuanya! Setelah kemarin kita membahas tentang Dockerfile, hari ini kita akan melangkah lebih jauh ke salah satu alat pendukung yang sangat berguna dalam Docker, yaitu Docker Compose. Jika kalian pernah berpikir, "Bagaimana cara menjalankan banyak container sekaligus dengan mudah?" maka Docker Compose adalah jawabannya. Yuk, kita bahas lebih detail!
![]() |
Picture by: Code With and Blog |
Apa Itu Docker Compose?
Docker Compose adalah alat yang digunakan untuk mendefinisikan dan menjalankan aplikasi multi-container. Dengan Docker Compose, kalian dapat membuat file konfigurasi bernama docker-compose.yml
, yang mendeskripsikan bagaimana semua container dalam aplikasi kalian akan bekerja sama.
Docker Compose sangat membantu dalam situasi di mana aplikasi kalian membutuhkan beberapa service, seperti:
- Aplikasi web dengan Nginx atau Apache.
- Database seperti MySQL atau PostgreSQL.
- Service tambahan seperti Redis atau RabbitMQ.
Kenapa Harus Docker Compose?
- Sederhana dan Konsisten: Semua konfigurasi untuk aplikasi kalian dapat didefinisikan dalam satu file
docker-compose.yml
. - Mengelola Banyak Container: Jalankan, hentikan, atau restart beberapa container sekaligus dengan satu perintah.
- Cross-Environment: Konfigurasi kalian bisa digunakan di berbagai lingkungan tanpa perlu perubahan signifikan.
- Efisien untuk Tim: Dengan Docker Compose, tim kalian bisa memiliki pengaturan container yang seragam.
Cara Kerja Docker Compose
Docker Compose menggunakan tiga langkah sederhana:
Mendefinisikan Layanan dalam File
docker-compose.yml
Semua layanan yang aplikasi kalian butuhkan didefinisikan dalam format YAML.Membangun dan Mengonfigurasi Layanan
Docker Compose akan membaca file tersebut, membangun image, dan mempersiapkan container sesuai spesifikasi.Menjalankan Layanan
Dengan satu perintah, semua container akan berjalan dan berkomunikasi sesuai kebutuhan.
Instalasi Docker Compose
Di Linux
Jalankan perintah berikut untuk menginstal Docker Compose:
Di Windows
Jika kalian menggunakan Docker Desktop, Docker Compose sudah terintegrasi. Pastikan Docker Desktop kalian sudah diinstal dan aktif.
Contoh docker-compose.yml
Berikut adalah contoh file docker-compose.yml
sederhana untuk aplikasi berbasis Python Flask dengan database MySQL:
Penjelasan:
version
: Versi file Compose yang digunakan.services
: Definisi layanan yang akan digunakan (dalam contoh ini:web
dandb
).web
:build
: Build image dari Dockerfile di direktori saat ini.ports
: Mapping port 5000 di host ke port 5000 di container.volumes
: Sinkronisasi file direktori lokal ke container.depends_on
: Menentukan bahwa serviceweb
akan bergantung padadb
.
db
:image
: Menggunakan image MySQL versi 8.0.environment
: Menentukan variabel lingkungan seperti password dan nama database.
Menjalankan Docker Compose
Setelah kalian memiliki file docker-compose.yml
, berikut langkah-langkah untuk menjalankannya:
Build Service
Menjalankan Semua Layanan
Gunakan flag
-d
untuk menjalankan layanan dalam mode background:Menghentikan Semua Layanan
Tips Menggunakan Docker Compose
Gunakan Volume: Untuk menyimpan data persisten, gunakan volume di
docker-compose.yml
.
Contoh:Gunakan File
.env
: Untuk menjaga keamanan, simpan konfigurasi sensitif seperti password di file.env
dan referensikan dalam file Compose.
Contoh.env
:Dalam
docker-compose.yml
:Perbarui Versi Docker Compose: Selalu gunakan versi terbaru untuk memanfaatkan fitur baru dan peningkatan performa.
Penutup
Docker Compose adalah alat yang sangat penting untuk mengelola aplikasi multi-container. Dengan Compose, proses konfigurasi dan pengelolaan layanan menjadi jauh lebih mudah, terutama jika aplikasi kalian kompleks.
Mungkin cukup sekian untuk materi docker compose kali ini. Sampai jumpa di blog selanjutnya!
Komentar
Posting Komentar