TeknoCerdas.com – Salam cerdas untuk kita semua. Pada tulisan ini TeknoCerdas akan menjelaskan bagaimana menjalankan WordPress menggunakan Docker. Lebih tepatnya adalah dengan Docker Compose.
Menjalankan WordPress menggunakan Docker memiliki beberapa keunggulan dibanding cara instalasi manual. Keunggulan utama adalah kemudahan instalasi dan konfigurasi yang sudah siap pakai atau out-of-the-box.
Pada tahap development atau pengembangan kemudahan instalasi dan konfigurasi adalah penting. Hal ini agar developer dapat langsung produktif untuk membangun solusi berdasarkan proses bisnis yang telah ditentukan.
Selain itu portabilitas Docker yang lintas platform, dapat digunakan Linux, MacOS dan Windows menambah keunggulan tersebut.
Daftar Isi
Persiapan Menjalankan WordPress
Sebelum mulai menjalankan WordPress ada beberapa prasyarat yang harus dipenuhi agar dapat memahami tulisan ini dengan baik.
- Memiliki pemahaman dasar tentang WordPress.
- Memiliki pemahaman dasar tentang Docker.
- Docker telah terinstal di komputer anda.
Jika anda tidak memiliki prasyarat diatas tenang saja, silahkan lanjutkan membaca. Karena mungkin banyak informasi baru yang diperoleh meskipun tanpa mencoba langsung tutorial ini.
Buat direktori baru yang digunakan untuk menyimpan konfigurasi Docker Compose dan juga file-file WordPress. Diasumsikan bahwa direktori kerja ada pada ~/Projects/WordPress
(Sesuaikan jika menggunakan Windows).
Susunan file dan direktori kurang lebih akan seperti dibawah.
+ ~/Projects/WordPress
+ www/
- docker-compose.yml
Direktori www/
akan berisi file-file WordPress.
Membuat File Docker Compose
WordPress adalah sebuah CMS yang dibangun menggunakan bahasa pemrograman PHP. Untuk melakukan penyimpanan data ia membutuhkan MySQL sebagai database server.
Dengan demikian akan ada dua container yaitu container WordPress dan MySQL. Dengan Docker Compose menjalankan lebih dari container agar saling terhubung akan lebih mudah.
Konfigurasi Docker Compose dalam bentuk file YAML. Berikut ini adalah file docker-compose.yml
.
version: '3.4'
services:
tekno_wordpress:
image: wordpress:5.4.2
ports:
- 8080:80
environment:
WORDPRESS_DB_HOST: tekno_wp_db
WORDPRESS_DB_USER: teknocerdas
WORDPRESS_DB_PASSWORD: teknocerdas123
WORDPRESS_DB_NAME: teknocerdas_db
volumes:
- ./www:/var/www/html
tekno_wp_db:
image: mysql:5.7
environment:
MYSQL_DATABASE: teknocerdas_db
MYSQL_USER: teknocerdas
MYSQL_PASSWORD: teknocerdas123
MYSQL_ROOT_PASSWORD: teknoroot123
volumes:
- wp_db:/var/lib/mysql
volumes:
wp_db:
Pada file konfigurasi diatas akan digunakan dua docker image yaitu wordpress:5.4.2 dan mysql:5.7. Keduanya adalah official docker image dari masing-masing vendor. Pada WordPress digunakan versi 5.4.2 sedangkan MySQL digunakan versi 5.7.
Pada WordPress volume ./www:/var/www/html
artinya isi dari direktori www
akan dimapping kedalam container WordPress /var/www/html
dimana disini adalah lokasi WordPress di container. Jika isi dari www kosong maka otomatis akan disalinkan dari WordPress versi 5.4.2.
Pada MySQL disediakan container volume terpisah yaitu wb_db
. Hal ini agar ketika container dimatikan database tidak hilang dan dapat digunakan oleh container lain jika diperlukan dengan praktis.
Mulai Menjalankan WordPress
Awali dengan masuk ke direktori project yang dibuat.
$ cd ~/Project/WordPress
Lalu mulai jalankan WordPress menggunakan Docker Compose.
$ docker-compose up
Creating network "wordpress_default" with the default driver
Creating volume "wordpress_wp_db" with default driver
Pulling tekno_wordpress (wordpress:5.4.2)...
5.4.2: Pulling from library/wordpress
[....CUT...]
Docker akan melakukan download file image dari WordPress dan MySQL karena belum ditemukan di local disk. Setelah semua selesai maka WordPress dapat diakses lewat URL http://localhost:8080/.
Untuk menghentikan WordPress dan MySQL cukup tekan kombinasi CTRL+C
pada keyboard.
Jika tidak ingin logging dimunculkan di layar maka gunakan opsi -d
atau detach ketika menjalakan docker compose.
$ docker-compose up -d
Starting wordpress_tekno_wordpress_1 ... done
Starting wordpress_tekno_wp_db_1 ... done
Jika ingin menampilkan log maka gunakan perintah logs
.
$ docker-compose logs
Untuk menghentikan container yang sedang berjalan gunakan perintah stop.
$ docker-compose stop
Stopping wordpress_tekno_wp_db_1 ... done
Stopping wordpress_tekno_wordpress_1 ... done