Deploy WordPress menggunakan Docker

Screen Shot 2021 03 13 at 01.23.14

Bid TIK Polda Kepri

Artikel ini adalah terusan dari artikel . Artikel ini akan memberikan gambaran bagaimana cara deploy wordpress untuk running menggunakan docker. Pada artikel ini akan diberikan contoh deploy secara manual dan menggunakan docker-compose.

Deploy menggunakan Cara Manual

  1. Buat volume untuk wordpress dan mysql.
$ docker volume create vol-wordpress
$ docker volume create vol-mysql

2. Buat container untuk wordpress dan mysql.

$ docker run -itd --name database -v vol-mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=12345 -p 3306:3306 mysql

$ docker run -itd --name wordpress -v vol-wordpress:/var/www/html -p 80:80 wordpress

3. Masuk ke container mysql untuk membuat database.

$ docker exec -it database bash
  $ mysql -u root -p
     > CREATE DATABASE wordpress;

4. Mulai setup wordpress. Akses http://alamat-ip.

5. Setup koneksi database seperti yang telah di-setup pada container mysql.

Database Name : wordpress
Username : root
Password : 12345
Database Host : alamat-ip

Deploy menggunakan Docker Compose

Jika menggunakan Docker Compose kita cukup membuat satu buah file konfigurasi yang sudah mencakup wordpress dan database nya. Sehingga ketika kita menjalankan docker compose container akan otomatis terbuat dengan konfigurasi yang sudah ditentukan.

Untuk melakukan instalasi Docker Compose:

$ curl -L "https://github.com/docker/compose/releases/download/1.28.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

$ chmod +x /usr/local/bin/docker-compose

$ ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

$ docker-compose --version

Buat direktori untuk project wordpress.

$ mkdir wordpress
$ cd wordpress

Buat file yml untuk deployment di dalam direktori wordpress yang sudah kita buat.

$ touch docker-compose.yml
version: "3.9"

 services:
   db:
     image: mysql:latest
     volumes:
       - vol_database:/var/lib/mysql
     restart: always
     environment:
         MYSQL_ROOT_PASSWORD: Admin123
         MYSQL_DATABASE: wordpress
         MYSQL_USER: wordpress
         MYSQL_PASSWORD: Admin123
 wordpress:
     depends_on:
       - db
     image: wordpress
     ports:
       - "80:80"
     volumes:
       - vol_wordpress:/var/www/html
     restart: always
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: wordpress
       WORDPRESS_DB_PASSWORD: Admin123
       WORDPRESS_DB_NAME: wordpress

 volumes:
   vol_database:
   vol_wordpress:

Pada file tersebut kita sudah mendeklarasikan semua konfigurasi untuk wordpress dan mysql. Untuk volume container kita juga sudah deklarasikan dengan nama vol_database dan vol_wordpress.

Kemudian kita jalankan Docker Compose nya di dalam direktori wordpress.

$ docker-compose up -d

Maka container akan dibuat secara otomatis dengan keterangan seperti di bawah. Biasanya prefix awal akan diambil dari direktori project dimana kita menjalankan docker-compose.

=====>
Creating network "wordpress_default" with the default driver
Creating volume "wordpress_vol_database" with default driver
Creating volume "wordpress_vol_wordpress" with default driver
Creating wordpress_db_1 ... done
Creating wordpress_wordpress_1 ... done 
=====>

Kemudian lakukan setup seperti biasa melalui browser dengan mengakses http://alamat-ip.

Untuk melakukan shutdown:

$ docker-compose down

Jika shutdown dilakukan, makan container juga akan ikut terhapus.

Untuk melakukan clean-up beserta volume yang telah dibuat:

$ docker-compose down --volumes