Installasi dan Konfigurasi Docker pada CentOs
Table of Contents
Pada artikel kali ini, akan dibahas sedikit mengenai instalasi dan konfigurasi Docker pada CentOs.
#
Docker
In 2013, Docker introduced what would become the industry standard for containers. Containers are a standardized unit of software that allows developers to isolate their app from its environment.
#
Rancangan Topologi
Topologi diatas melanjutkan tugas sebelumnya, sehingga untuk kali ini fokus hanya pada konfigurasi Docker, serta Konfigurasi DNS untuk diarahkan ke Docker.
#
Installasi
##
Install CentOs
Untuk Instalasi CentOs, silahkan lakukan seperti pada pertemuan sebelumnya.
##
Install docker
Langkah - langkah instalasi docker bisa dilihat di laman resmi docker.
###
Hapus Docker Versi lama
Sesuai dengan dokumentasi dari docker, langkah pertama yang harus dilakukan adalah menghapus semua versi docker dan docker engine yang lama. Perintah seperti pada gambar dibawah.

###
Tambahkan Repository Docker dan Update System
Install yum-utils untuk menggunakan perintah yum-config-manager.

Tambahkan Repository docker menggunakan yum-config-manager.

Update CentOs.



Setelah update selesai, silahkan lanjutkan dengan Installasi Docker.
###
Install Docker
Silahkan Install Docker-ce Docker-ce-cli dan containerd.io.


Apabila terjadi error seperti pada gambar diatas, silahkan tambahkan opsi --nobest.

Instalasi docker selesai.
###
Cek Instalasi Docker
Untuk melakukan pengecekan instalasi docker, silahkan jalankan container hello-world. Sebelum menjalankan container hello-world, langkah pertama adalah menjalankan service docker pada CentOs.
Selanjutnya, silahkan jalankan container hello-world.
Instalasi docker selesai.
###
Installasi docker-compose
Silahkan unduh docker-compose dengan menggunakan CURL.
Setelah proses unduh selesai, silahkan izinkan file untuk dieksekusi.
Selanjutnya, buat Symbolic Link, dan Cek Versi dari docker-compose

Installasi Docker-compose selesai.
#
Konfigurasi Docker PHP-Apache
##
Menyiapkan Directory
Selanjutnya, buat beberapa directory yang akan digunakan untuk menyimpan isi dan konfigurasi dari aplikasi yang akan dibuat. Buat 2 directory yaitu app dan php-apache. Pada directory app, dimasukan isi dari aplikasi / file aplikasi yang akan di deploy pada docker. Php-apache berisi konfigurasi docker.
Membuat directory app dan php-apache didalam directory docker.
Membuat directory src pada directory app, dan directory config pada php-apache. Config akan diisi konfigurasi untuk apache dan src akan diisi file aplikasi.

##
Konfigurasi VirtualHost Apache
Pada directory config, silahkan buat file dengan nama 000-default.conf, pada tutorial ini menggunakan text editor Vim.
Selanjutnya, konfigurasi VirtualHost yang akan dibuat, ada tiga parameter utama, yaitu ServerName, DocumentRoot dan ServerAdmin.
ServerName berisi domain yang akan digunakan oleh VirtualHost, DocumentRoot merupakan tempat dimana file aplikasi php disimpan, dan ServerAdmin merupakan alamat email dari Admin Server.
Pada saat menggunakan Vim, tekan esc lalu ketikan :wq untuk menyimpan dan keluar.
##
Membuat Aplikasi php Pada directory app/src
Silahkan buat atau masukan aplikasi PHP yang sudah anda buat sebelumnya kedalam directory app/src.


##
Membuat Dockerfile
Untuk menjalankan docker, diperlukan dockerfile. Dockerfile ini berisi konfigurasi dari docker container yang akan kita buat. Silahkan buat dockerfile pada directory php-apache.

From php:7.4-apache merupakan perintah untuk kita membuat docker image dari php-7.4 yang sudah memiliki apache dari image resmi PHP. Copy merupakan perintah untuk melakukan copy file 000-default.conf yang ada di directory config ke directory /etc/apache2/sites-enabled/.
##
Build Docker image
Setelah dockerfile dibuat, selanjutnya kita melakukan build docker image. Docker image ini yang nanti akan dijalankan untuk memberikan layanan aplikasi PHP kepada pengguna.

Setelah selesai, silahkan cek docker images dengan perintah berikut.
Pada image, telah tersedia satu mega-php-apache yang telah berhasil di build.
##
Docker Compose
Docker-compose.yml merupakan konfigurasi yang digunakan oleh docker-compose. Docker-compose memungkinkan pengguna untuk melakukan manajemen beberapa container dengan konfigurasi file yang sederhana. Buat docker-compose.yml dalam directory app.

Image merupakan image yang sudah dibuat. Volumes digunakan untuk melakukan mount directory app/src yang berisi aplikasi php kedalam directory /var/www/html/docker pada docker container. Ports 80:80 digunakan untuk expose port 80 pada container kedalam port 80 pada hosts Os, sehingga pada saat diakses port 80 akan menuju ke port container yang sesuai.
Silahkan masuk ke directory app, selanjutnya jalankan perintah docker-compose untuk menjalankan container.

Selanjutnya cek service docker yang sudah dijalankan dengan docker-compose ps.

Saat dalam status up, maka container berjalan, Silahkan cek dengan web browser client (Laptop Anda) ip dari docker server 192.168.43.3.
Server php-apache docker telah berjalan.
#
Konfigurasi DNS
##
Mengarahkan domain docker.megapranata.id ke Server Docker
Konfigurasi dilakukan dengan menambahkan domain pada file 43.168.192.db dan megapranata.id.db.




Setelah semua dikonfigurasi, selanjutnya restart service named.

Lakukan nslookup untuk menguji status dari DNS.

##
Akses Server dengan Domain
Silahkan coba akses server dengan menggunakan nama domain.

Konfigurasi Selesai. Silahkan di praktikan dengan Baik. SEMANGAT!!!!!
#
Sumber
— https://www.vultr.com/docs/deploy-a-php-application-using-docker-compose