Tutorial Menggunakan Docker Compose

Tutorial Menggunakan Docker Compose – Bayangkan kita ingin menjalankan situs WordPress. Kita butuh setidaknya dua komponen:

  1. Web server dengan PHP (tempat WordPress berjalan).
  2. 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.

  1. Buat sebuah direktori baru untuk proyek WordPress kita dan masuk ke dalamnya.
    mkdir situs-wordpress
    cd situs-wordpress
    
  2. 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 bernama db_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. Perhatikan WORDPRESS_DB_HOST: db, nama db 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.

Was this article helpful?

Related Articles

Leave A Comment?

You must be logged in to post a comment.