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