Cara Menggunakan Docker Compose untuk Install WordPress
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
dbmenggunakan MariaDB sebagai database WordPress -
Service
wordpressmenggunakan 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.
.png)