Moodle merupakan platform Learning Management System (LMS) open source.
Sampai postingan ini dibuat, moodle tidak memiliki official image di docker hub. maka dari itu kali ini saya akan membagikan cara untuk membuat image moodle dengan Dockerfile.
Dockerfile merupakan salah satu fitur docker yang digunakan untuk membangun sebuah image baru
Membuat direktori kerja baru
Agar tertata dengan rapi kita buat sebuah direktori baru
$ mkdir /home/$USER/moodle-docker
$ cd /home/$USER/moodle-docker
Membuat VirtualHost apache2
Saat membagun image moodle nanti kita akan menginstall apache2 sebagai http server moodle berjalan, maka dari itu kita persiapkan dulu file konfigurasi virtual host untuk moodlenya.
$ nano moodle.conf<VirtualHost *:80>
ServerAdmin admin@example.com
DocumentRoot /var/www/html/moodle/
ServerName example.com
ServerAlias www.example.com<Directory /var/www/html/moodle/>
Options +FollowSymlinks
AllowOverride All
Require all granted
</Directory>ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined</VirtualHost>
Download app moodle
Pada saat story ini dibuat versi moodle terbaru adalah 3.9
$ wget https://download.moodle.org/download.php/stable39/moodle-latest-39.tgz
Membuat Dockerfile
setelah semua bahan disiapkan, sekarang kita membuat file Dockerfile
$ nano DockerfileFROM ubuntu:latest
RUN apt-get update -y && \
ln -fs /usr/share/zoneinfo/Asia/Jakarta /etc/localtime
RUN apt-get install apache2 -y
RUN apt-get install php libapache2-mod-php -y
RUN apt-get -y install graphviz aspell ghostscript clamav php7.4-pspell php7.4-curl php7.4-gd php7.4-intl \
php7.4-mysql php7.4-xml php7.4-xmlrpc php7.4-ldap php7.4-zip php7.4-soap php7.4-mbstring
ADD moodle-latest-39.tgz /var/www/html/
RUN mkdir /var/www/html/moodledata
RUN chown -R www-data:www-data /var/www/html/moodle/ && \
chmod -R 755 /var/www/html/moodle/ && \
chown www-data /var/www/html/moodledata
COPY moodle.conf /etc/apache2/sites-available/
RUN a2enmod rewrite && \
a2ensite moodle.conf && \
a2dissite 000-default.conf
RUN service apache2 restart
EXPOSE 80
CMD ["apachectl","-D","FOREGROUND"]
List direktori
Pastikan isi dari direktori /home/$USER/moodle
seperti ini
$ tree
.
├── Dockerfile
├── moodle.conf
└── moodle-latest-39.tgz
Build image dari Dockerfile
Untuk dapat build image pastikan docker daemon
telah terinstall di host kalian
$ docker build -t prasta/moodle:latest .
Disini saya menggunakan tag prasta/moodle:latest
dikarenakan akan saya push ke registry docker milik saya
Pastikan image berhasil di buat, check image yang ada di local host
$ docker imagesREPOSITORY TAG IMAGE ID CREATED SIZE
prasta/moodle latest 4725719476d3 44 hours ago 760MB
Push image ke registry
Agar dapat push image ke registry docker hub, pertama kita harus terlebih dahulu menggunakan perintah $ docker login
, setelah itu kita dapat push image dengan perintah
$ docker push prasta/moodle:latest
Membangun/Deploy container dari moodle image
Untuk lankah-langkah dan konfigurasi dari membangun container moodle dapat di lihat pada story dibawah :D
0 Comments