Di story sebelumnya kita sudah sempat membangun image moodle menggunakan Dockerfile
, silahkan baca story sebelumnya sebelum mengikuti story ini.
Untuk membangun container kita dapat menggunakan 2 cara yaitu
- secara interaktif (langsung dengan perintah docker)
- menggunakan docker-compose
Pada story ini saya akan membahas kedua cara tersebut
Secara Interaktif
Secara interaktif disini berarti kita langsung menggunakan perintah docker untuk membangun container, perintah yang akan kita gunakan yaitu
$ docker run
Untuk menginstall Moodle, perlu kita ketahui kita memerlukan sebuah database untuk menyimpan data aplikasi moodle
Disini saya akan menggunakan mariadb
sebagai database moodle. Jadi kita akan membangun 2 container, yaitu mariadb dan moodle itu sendiri
Membuat User-define Network
pertama kita harus membuat docker network baru, dimana bertujuan agar nantinya container mariadb dan moodle dapat saling berkomunikasi menggunakan container names
. Ini bertujuan karena ip address dari container dapat berubah sewaktu waktu jika mengalami kendala
$ docker network create moodle
Run container Mariadb
kita memerlukan bind mount docker
agar data dalam container mariadb menjadi persistent dan ada di local host kita
$ mkdir /var/lib/mysql-moodle
$ docker run --name=moodle_db_1 --network=moodle \
-e MYSQL_ROOT_PASSWORD=m00dle \
-e MYSQL_USER=moodle \
-e MYSQL_PASSWORD=m00dle \
-e MYSQL_DATABASE=moodle \
-v /var/lib/mysql-moodle:/var/lib/mysql \
mariadb:latest
lokasi dari bind mount
disini adalah /var/lib/mysql-moodle
pada local host machine kita dan /var/lib/mysql
pada container mariadb
baca selengkapnya mengenai bind mount docker
Run container Moodle
$ docker run --name=moodle_app_1 --network=moodle -d -p 80:80 prasta/moodle:latest
disini saya mempublish port 80
host ke port 80
container
Menggunakan docker-compose
Untuk menggunakan docker-compose
pastikan kalian harus menginstallnya terlebih dahulu di host kalian, pelajari cara menginstall docker-compose pada sistem operasi host kalian disini
Buat konfigurasi file docker-compose.yml
$ nano docker-compose.ymlversion: '3'
services:
db:
image: mariadb:latest
volumes:
- moodle_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: m00dle
MYSQL_DATABASE: moodle
MYSQL_USER: moodle
MYSQL_PASSWORD: m00dle
networks:
- moodle
app:
depends_on:
- db
image: prasta/moodle:latest
ports:
- "80:80"
restart: always
networks:
- moodle
volumes:
moodle_data:
networks:
moodle:
Jalankan docker-compose
sebelum dijalankan, pastikan kalian berada di direktori dimana file docker-compose.yml
itu berada
$ docker-compose up -d
Install Moodle pada browser
Untuk proses penginstall moodle selanjutnya adalah pada browser
akses moodle menggunakan http://$host-ip-address
bagian yang perlu diperhatikan adalah saat konfigurasi database. saat ditanya pilihlah database mariaDB
. dan pada bagaian Database Setting, atur seperti ini

Perlu diperhatikan bahwa moodle_db_1
adalah container names
. kita dapat mengakses container mariaDB menggunakan container name karena kita membuat user-define network sebelumnya
0 Comments