Tutorial Menggunakan Docker Compose – Bayangkan kita ingin menjalankan situs WordPress. Kita butuh setidaknya dua komponen:
- Web server dengan PHP (tempat WordPress berjalan).
- Database (tempat WordPress menyimpan semua postingan dan pengaturan).
Menjalankan dan menghubungkan dua kontainer ini secara manual menggunakan perintah docker run
bisa menjadi rumit dan panjang. Docker Compose memungkinkan kita mendefinisikan seluruh “tumpukan” (stack) aplikasi kita dalam satu file konfigurasi sederhana.
Langkah 1: Verifikasi Instalasi Docker Compose
Pada tutorial Docker sebelumnya, kita sudah menginstal plugin docker-compose-plugin. Mari kita pastikan plugin tersebut siap digunakan.
Jalankan perintah ini di terminal kita:
docker compose version
Jika kita melihat output yang menunjukkan versi Docker Compose, berarti kita siap untuk melanjutkan! Jika tidak, kita bisa menginstalnya kembali dengan sudo apt-get install docker-compose-plugin
.
Langkah 2: Menyiapkan Proyek WordPress
Setiap proyek Docker Compose sebaiknya memiliki direktorinya sendiri. Ini membantu menjaga semuanya tetap terorganisir.
- Buat sebuah direktori baru untuk proyek WordPress kita dan masuk ke dalamnya.
mkdir situs-wordpress cd situs-wordpress
- Buat file konfigurasi. Di dalam direktori ini, kita akan membuat file utama yang menjadi “cetak biru” aplikasi kita.
nano docker-compose.yml
Langkah 3: Merancang Cetak Biru Aplikasi Kita
Sekarang kita berada di dalam editor nano. Salin dan tempel (copy-paste) konfigurasi berikut ke dalam file docker-compose.yml. YAML sangat sensitif terhadap spasi (indentasi), jadi pastikan formatnya persis seperti di bawah.
version: '3.8'
services:
db:
image: mariadb:10.6
container_name: wordpress_db
restart: always
command: '--default-authentication-plugin=mysql_native_password'
volumes:
- db_data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: password_super_rahasia
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress_user
MYSQL_PASSWORD: password_user_wp
wordpress:
image: wordpress:latest
container_name: wordpress_web
restart: always
ports:
- "8000:80"
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: wordpress_user
WORDPRESS_DB_PASSWORD: password_user_wp
WORDPRESS_DB_NAME: wordpress
volumes:
db_data:
Mari kita bedah satu persatu:
services
: Di sini kita mendefinisikan setiap “layanan” atau kontainer kita.db
: Ini adalah layanan database kita.image: mariadb:10.6
: Kita menggunakan gambar MariaDB.restart: always
: Jika kontainer ini crash, Docker akan otomatis menyalakannya kembali.volumes: - db_data:/var/lib/mysql
: Ini sangat penting! Kita membuat volume bernamadb_data
. Ini akan menyimpan data database kita secara permanen di server, bahkan jika kita menghapus kontainernya.environment
: Di sini kita mengatur variabel-variabel penting seperti password root dan membuat user database khusus untuk WordPress.
wordpress
: Ini adalah layanan web server kita.image: wordpress:latest
: Kita menggunakan gambar WordPress resmi terbaru.ports: - "8000:80"
: Kita memetakan port 8000 di server kita ke port 80 di dalam kontainer WordPress.environment
: Kita memberitahu WordPress cara terhubung ke database kita. PerhatikanWORDPRESS_DB_HOST: db
, namadb
ini merujuk ke nama layanan database yang kita definisikan di atas. Docker Compose secara otomatis membuat jaringan agar mereka bisa saling “berbicara”.
Setelah selesai, simpan file dan keluar dari nano (Ctrl+X, lalu Y, lalu Enter).
Langkah 4: Coba Jalankan
Sekarang bagian yang paling memuaskan. Dari dalam direktori situs-wordpress kita, jalankan satu perintah ini:
docker compose up -d
Opsi -d (detached) akan menjalankan semuanya di latar belakang.
Docker Compose akan membaca file docker-compose.yml kita, mengunduh gambar mariadb dan wordpress (jika belum ada), membuat jaringan, membuat volume, dan akhirnya menyalakan kedua kontainer sesuai konfigurasi kita.
Kita bisa memeriksa statusnya dengan:
docker compose ps
Kita akan melihat dua kontainer (wordpress_db dan wordpress_web) dalam keadaan “running”.
Langkah 5: Mengunjungi Situs WordPress Baru Kita
Saatnya melihat hasil kerja keras kita. Buka browser dan navigasikan ke alamat IP server kita, dengan port :8000.
http://ALAMAT_IP_SERVER_KITA:8000
Kita akan disambut oleh halaman instalasi WordPress yang terkenal! Kita bisa melanjutkan proses instalasi 5 menit yang legendaris itu. Semua data yang kita masukkan akan disimpan dengan aman di dalam volume database yang sudah kita buat.
Langkah 6: Cara Mematikan Aplikasi
Jika kita ingin menghentikan dan membersihkan aplikasi kita, Docker Compose membuatnya sama mudahnya.
Dari direktori situs-wordpress yang sama, jalankan:
docker compose down
Perintah ini akan menghentikan dan menghapus kontainer serta jaringan yang dibuat. Namun, volume db_data akan tetap ada, jadi data kita aman jika kita ingin menyalakan kembali aplikasinya nanti.
Leave A Comment?
You must be logged in to post a comment.