Membuat CDN dengan Docker




Selamat Pagi rekan rekan pembaca,
pada postingan kali ini saya akan memposting tentang CDN
materi ini saya dapatkan saat Training Docker dan Proxmox di BLC TELKOM KLATEN beberapa hari lalu.

Yup mari kita mulai pembahasannya. Pertama-tama apa itu CDN ????
Ya, CDN ialah Content Delivery Network. Apa sih fungsi CDN dan mengapa diperlukan CDN??
Tenang-tenang sabar, pelan-pelan hehehe, seperti kepanjangannya Content Delivery Network atau content yang didistribusikan melalui Jaringan karena CDN berfungsi membagi sebuah content ke server-server tertentu supaya suatu server tidak keberatan menanggung beban pengunjung suatu website.
Bagaimana membingungkan bukan ?
Tunggu tunggu jangan geser Tab Browsernya dulu, untuk lebih gampangnya saya akan berikan contoh.
http://detik.com/ merupakan salah satu contoh website yang menggunakan CDN karena tidak mungkin http://detik.com hanya menggunakan satu /dua server saja untuk menampung konten serta iklan iklan yang bahkan beban pengunjungnya bejibun.. hehhe
maka dari itu suatu website sekelas http://detik.com memanfaatkan CDN untuk memanajeman Websitenya.
Bagaimana pembaca, semakin menarik untuk dipelajari bukan ???
karena kita akan membuat CDN sederhana, jadi jangan close dulu Situs saya.. hehehe

Yup mari kita mulai mengopreknya..
Lets start, Dont forget to turn up the music…..
karena kita menggunakan Docker untuk virtualisasinya jadi jangan kuatir bagi mereka-merreka yang berspec minimum.. hihihihih

pertama kita install dulu dockernya, klau di ubuntu cukup lakukan

1. apt install docker
2. apt install docker.io

Dan docker siap dijalankan

download image untuk doccker bisa dilakukan dengan

 docker pull webhippie/opensuse

karena untuk virtualisasi server kita akan menggunakan OPENSUSE jadi saya diisni mendownload OPENSUSE untuk images nya..

klau rekan rekan ingin menggunkan ubuntu berikut perintahnya
  1.    docker search UBUNTU 
  2. setelah ketemu images yang diinginkan lakukan : docker pull ubuntu atau content lain yang berada pada list “NAME”


untuk melihat images yang telah di download lakukan perintah
1. docker images

Lalu instal image ke container dengan perintah

1. docker run --privileged --name SUSE1 -v /home/user/Docker:/Docker -di webhippie/opensuse /bin/bash

setelah image OpenSuse terinstal di docker, lakukan

1. docker ps


untuk melihat process yang berjalan di docker.
Dan buatlah 3 container lainnya dengan perintah diatas dengan
( --name=xxxx) yanf berbeda di setiap containernya




lalu untuk mengkonfigurasi os yang telah kita install lakukan

1. docker exec -ti SUSE1

setelah SUSE1 berjalan di container instal beberapa aplikasi yang dibutuhkan dengan perintah :

  1. zypper -li 
  2. zypper -in nano 
  3. zypper -in nginx

Download Template website di sini {https://www.freewebtemplates.com/}

Template yang telah terdownload pindahkan ke Directory /home/user/Docker. Karena saat menginstall images ke container tadi kita menghendaki directory tersebut sebagai directory yang dimount oleh si Docker

Setelah tercopy ke directory /home/user/Docker, coba buka Directory /Docker OS Container, jika sukses akan terlihat isi dari file /home/user/Docker sama dengan isi Directory /Docker yang ada di Container.

Lanjut konfigurasi Webserver OpenSuse:



1. Copy file template website ke directory /srv/www/htdocs

2. lalu buka konfigurasi nginx dengan, nano /etc/nginx/nginx.conf
3. Konfigurasikan nginx supaya mengarah langsung ke Template yang telah dicopy ke webserver

Bagaimana masih mau lanjut rekan rekan semua ???
Yosh mari lanjut ke configurasi berikutnya…

Tambahkan konfigurasi NGINX dengan Config yang ada di bawah ini :
location ~ ^/images {
return 301 $scheme://ip_address_nginx2/$request_uri;
}
location ~ ^/js {
return 301 $scheme://ip_address_nginx3/$request_uri;
}

Config diatas bertujuan men-redirect trafik request images serta js(Java Script) ke Ip server yang lain..
nb: bisa dibaca penjelasan di awal tutorial
Lakukan juga penambahan konfigurasi di atas di Container 2 dan 3, tentu saja dengan ip_address_nginx yang berbeda di setiap containernya agar bekerja dengan baik.
Setelah selesai nylakan service NGINX dengan perintah
  1. nginx
  2. nginx -s reload

 Jika sukses berikut hasilnya :
bisa dilihat saya membuka Web Server 171.17.0.3
tapi di Bagian Network trafik js (Java Script) memanggil dari Ip yang berbeda begitu juga dengan Image nya....
Ip tersebut didapat dari hasil settingan kita di NGINX tadi..


Sekian Tutorial kali ini terimakasih kepada :

Komentar

Postingan Populer