Cara Deploy Static Website HTML di Docker

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 🙂

Leave a Reply

Your email address will not be published.