Menjalankan WordPress menggunakan Docker
- Get link
- X
- Other Apps
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.
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.7'
services:
wordpress_docker:
image: wordpress:5.7.2
ports:
- 8080:80
environment:
WORDPRESS_DB_HOST: localhost
WORDPRESS_DB_USER: root
WORDPRESS_DB_PASSWORD: d4n1
WORDPRESS_DB_NAME: db_wp
volumes:
- ./www:/var/www/html
tekno_wp_db:
image: mysql:5.7
environment:
MYSQL_DATABASE: db_wp
MYSQL_USER: root
MYSQL_PASSWORD: d4n1
MYSQL_ROOT_PASSWORD: d4n1
volumes:
- wp_db:/var/lib/mysql
volumes:
db_wp:
Pada file konfigurasi diatas akan digunakan dua docker image yaitu wordpress:5.7.2 dan mysql:5.7. Keduanya adalah official docker image dari masing-masing vendor. Pada WordPress digunakan versi 5.7.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.7.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.7.2)...
5.7.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_docker_wordpress_1 ... done
Starting wordpress_docker
_db_wp_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_docker_wordpress_1 ... done
Stopping wordpress_docker
_db_wp_1
... done
- Get link
- X
- Other Apps
Comments
Post a Comment