Pada seri tutorial Docker kali ini kita akan belajar bagaimana cara deploy static website HTML di atas Docker container.
*Requirements*
Jika Docker belum tersedia, install terlebih dahulu.
Baca /tutorial install Docker di Ubuntu 20.04/.
Tutorial install di distro Linux lain baca di docs.docker.com.
Kita membutuhkan nginx image. Pull nginx image dengan tag stable-alpine karena ukurannya lebih kecil.
[INPUT]1 docker pull nginx:stable-alpine
*Cara Pertama: Copy File*
Cara pertama kita bisa membuat container nginx dan meng-copy file website HTML ke dalam container.
Membuat container dengan nama web-freelancer dari nginx image dan port nginx di-publish ke port 80.
[INPUT]1 docker run -d -p 80:80 –name web-freelancer nginx:stable-alpine
Cek apakah container sudah berjalan.
[INPUT]1 docker ps
Contoh hasil perintah di atas.
[INPUT]1 2 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 60229e04a7b3 nginx:stable-alpine “/docker-entrypoint.”¦” 13 seconds ago Up 12 seconds 0.0.0.0:80->80/tcp, :::80->80/tcp web-freelancer
Tes apakah nginx di container sudah bisa diakses.
Browse/ http://127.0.0.1/, /http://ipserver/, atau /http://domain.com/ (Domain harus sudah diarahkan ke IP server).
Browse dengan IP address
Browse dengan domain
Copy file website ke dalam container. Diasumsikan file website tersimpan di dalam folder /~/freelancer/.
Copy isi folder /freelancer/ ke //usr/share/nginx/html/ yang berada di dalam container.
[INPUT]1 docker cp ~/freelancer/. web-freelancer:/usr/share/nginx/html
Browse kembali untuk mengetahui apakah file website sudah ter-copy dengan baik.
Website berhasil di-deploy
*Cara Kedua: Mount Folder*
Cara kedua tanpa copy file tapi dengan mount folder website.
Membuat container dengan nama web-freelancer dari nginx image, port nginx di-publish ke port 80, dan mount folder /~/freelancer/ ke //usr/share/nginx/html/ yang berada di dalam container.
[INPUT]1 docker run -d -p 80:80 -v ~/freelancer:/usr/share/nginx/html –name web-freelancer nginx:stable-alpine
*Cara Ketiga: Volume*
Cara ketiga dengan membuat volume dan mount ke container.
Membuat volume dengan nama /vol-freelancer/.
[INPUT]1 docker volume create vol-freelancer
Copy isi folder /freelancer/ ke folder volume /vol-freelancer/ di //var/lib/docker/volumes/vol-freelancer/_data//.
[INPUT]1 cp -Rv freelancer/* /var/lib/docker/volumes/vol-freelancer/_data/
Membuat container dengan nama web-freelancer dari nginx image, port nginx di-publish ke port 80, dan mount volume /vol-freelancer/ ke //usr/share/nginx/html/ yang berada di dalam container.
[INPUT]1 docker run -d -p 80:80 -v vol-freelancer:/usr/share/nginx/html –name web-freelancer nginx:stable-alpine
Selamat mencoba ð