Cara Menggunakan Docker Compose untuk Install WordPress

Cara Install Docker di Ubuntu 20.04 LTS (Lengkap untuk DevOps dan Server Production)

Docker Compose merupakan tool resmi dari Docker yang digunakan untuk mendefinisikan dan menjalankan aplikasi berbasis Docker dengan banyak container (multi-container). Dalam praktiknya, sebuah aplikasi web modern seperti WordPress membutuhkan beberapa komponen utama, antara lain web server, database server, dan runtime aplikasi.

Dengan Docker Compose, seluruh komponen tersebut dapat dikelola melalui satu file konfigurasi berbasis YAML dan dijalankan hanya dengan satu perintah. Pendekatan ini sangat efisien untuk kebutuhan DevOps, deployment cepat, serta lingkungan development yang konsisten.

Pada artikel ini, kita akan membahas langkah demi langkah cara menggunakan Docker Compose untuk menginstall WordPress.

Konsep Dasar Docker Compose

Docker Compose bekerja dengan file bernama docker-compose.yml yang berisi definisi service, network, dan volume. Setelah file tersebut dibuat, Docker Compose akan:

  • Menarik image yang dibutuhkan dari Docker Hub

  • Membuat network internal antar container

  • Membuat volume untuk penyimpanan data persisten

  • Menjalankan seluruh container secara terintegrasi

Install Docker Compose

Pastikan Docker Engine sudah terpasang di server Linux. Selanjutnya, lakukan instalasi Docker Compose dengan langkah berikut.

Download Docker Compose

wget https://github.com/docker/compose/releases/download/v2.0.1/docker-compose-linux-x86_64 -O /usr/bin/docker-compose

Berikan Hak Eksekusi

chmod +x /usr/bin/docker-compose

Verifikasi Instalasi

docker-compose --version

Jika berhasil, akan muncul output seperti berikut:

Docker Compose version v2.0.1

Install WordPress Menggunakan Docker Compose

Membuat File Konfigurasi

Buat file docker-compose.yml pada direktori kerja.

nano docker-compose.yml

Konfigurasi docker-compose.yml

Masukkan konfigurasi berikut:

version: "3.8" services: db: image: mariadb:latest volumes: - db_data:/var/lib/mysql restart: always environment: MARIADB_ROOT_PASSWORD: secret MARIADB_DATABASE: db_wp MARIADB_USER: user_wp MARIADB_PASSWORD: secret_wp wordpress: image: wordpress:latest depends_on: - db volumes: - wordpress_data:/var/www/html ports: - "80:80" restart: always environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_USER: user_wp WORDPRESS_DB_PASSWORD: secret_wp WORDPRESS_DB_NAME: db_wp volumes: db_data: wordpress_data:

Penjelasan singkat konfigurasi:

  • Service db menggunakan MariaDB sebagai database WordPress

  • Service wordpress menggunakan image resmi WordPress

  • Volume digunakan agar data WordPress dan database tetap aman meskipun container dihentikan

  • Port 80 diekspos agar WordPress dapat diakses melalui browser


Menjalankan Docker Compose

Jalankan perintah berikut untuk membuat dan menjalankan container:

docker-compose up -d

Docker akan secara otomatis mendownload image yang dibutuhkan, lalu membuat network, volume, dan container.

Contoh output proses yang berhasil:

[+] Running 5/5 Network root_default Created Volume "root_db_data" Created Volume "root_wordpress_data" Created Container root-db-1 Started Container root-wordpress-1 Started

Mengecek Status Container

Untuk memastikan container berjalan dengan baik, gunakan perintah:

docker ps

Contoh hasilnya:

CONTAINER ID IMAGE STATUS PORTS NAMES 45b255d68d5e wordpress:latest Up 0.0.0.0:80->80/tcp root-wordpress-1 d9ff05ec8f3d mariadb:latest Up 3306/tcp root-db-1

Mengakses WordPress

Buka browser dan akses:

  • http://IP_SERVER

  • atau http://DOMAIN

Selanjutnya, ikuti proses instalasi WordPress melalui tampilan web hingga selesai.

Shutdown dan Cleanup Docker Compose

Menghentikan Container

Untuk menghentikan dan menghapus container serta network:

docker-compose down

Menghapus Container, Network, dan Volume

Jika ingin menghapus seluruh data WordPress dan database:

docker-compose down --volumes

Perintah ini akan menghapus container, network, serta volume yang berisi file WordPress dan database.

Penutup

Menggunakan Docker Compose untuk install WordPress memberikan kemudahan dalam manajemen layanan, konsistensi environment, dan efisiensi deployment. Metode ini sangat direkomendasikan untuk kebutuhan development, testing, maupun implementasi WordPress berbasis container di server produksi.

Dengan satu file konfigurasi, seluruh stack WordPress dapat dijalankan, dihentikan, atau direplikasi dengan cepat dan terkontrol.