Menjalankan WordPress menggunakan Docker

2 min read

Disclaimer
Saya bekerja di AWS, semua opini adalah dari saya pribadi. (I work for AWS, my opinions are my own.)
Menjalankan WordPress menggunakan Docker
Menjalankan WordPress menggunakan Docker (Logo Hak Cipta Masing-masing)

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/.

Menjalankan WordPress dengan Docker: Halaman Install
Menjalankan WordPress dengan Docker: Halaman Install
Menjalankan WordPress dengan Docker: Hello World
Menjalankan WordPress dengan Docker: Hello World

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