Mengenal Docker dan Container - Tulisan ini saya buat agar tidak lupa tentang apa-apa saja yang telah saya pelajari dan saya harap tulisan ini dapat membantu kita dalam memahami Docker sebagai aplikasi untuk membuat Container yang berisi software-software atau lebih familiar disebut dengan image.

Pemahaman ini pun saya dapatkan setelah banyak bertanya pada teman yang lebih paham hingga akhirnya saya tuliskan kembali dan saya kemas dalam tulisan disini.

Kita akan mengenal terlebih dahulu apa itu Docker dan fungsi nya serta bagaimana ia bekerja.

 Apa itu Docker?

Docker adalah sebuah software open source yang berfungsi sebagai container untuk memasukan sebuah aplikasi beserta hal lainya yang dibutuhkan oleh software tersebut agar dapat berfungsi. Software-software ini diistilahkan sebagai image oleh docker, Kemudian instance dari image tersebut disebut sebagai container.

Jadi dapat disimpulkan bahwa Docker adalah sebuah aplikasi open source untuk mengelola Container yang digunakan untuk memanajemen aplikasi yang disebut dengan image dan berjalan langsung di atas system operasi dengan terisolasi.

Lalu apa itu Container?

Container ini kita artikan sebagai wadah untuk menjalankan sebuah aplikasi secara terisolasi dengan bantuan system operasi.

Dan fungsi dari container sendiri diantara lain :

  1. Menjalankan aplikasi beserta depedency nya secara terisolasi dalam sebuah system operasi secara langsung. 
  2. Meskipun terisolasi umumnya memiliki manejemen network sendiri.
  3. Memungkinkan menjalankan aplikasi langsung di atas system operasi.
  4. dll
Keuntungan container diantaranya :
  1. Minimnya penggunaan resource
  2. Pengisolasian langsung diatas System operasi, tidak seperti VM yang harus menggunakan operating system guest diatasnya.
  3. Image memungkinkan terbuatnya nodes container banyak dengan mudah.

Cara Kerja Container

Container menyediakan fleksibelitas secara keseluruhan dibandingkan kita menggunakan Virtual Machine karena dapat langsung berjalan di atas System Operasi tanpa perlu menggunakan Hypervisor. Ia dapat membagi resource secara langsung pada OS.

Memahami Hypervisor

Mari kita bahas teknologi virtualisasi yang menjadi dasar dari perkembangan Container dan VM ini.

Pada teknologi hypervisor kita mengenal 2 tipe yaitu Bare Metal Architecture (type 1) dan Hosted Architecture (type 2). 

Pada type 1 hypervisor ini berjalan diatas langsung diatas Hardware server. Yang berarti tidak memerlukan System Operasi untuk menjalankan hypervisor type ini. Contoh dari hypervisor type 1 ini seperti, VMware EXSi, VMware vSphere, Microsoft Hyper-V, Dan untuk Open source nya mungkin ada Proxmox.

Untuk type 2 hypervisor berperan sebagi software untuk memanajemen virtual machine dan membutuhkan sistem operasi dalam penggunaan nya. Contoh nya seperti Virtualbox, VMware Workstation, dll.

Hypervisor dapat menjalankan perangkat lunak dan yang berjalan pada perangkat keras nya dan menyediakan isolasi terhadap perangkat keras sesungguhnya.

Untuk perbedaan dari Hypervisor type 1 dan 2 dapat dilihat pada Gambar 1.1

Gambar 1.1

Perbedaan Container dan Virtual Machine

Virtual Machine dan Container, Kedua teknologi ini berjalan diatas virtualisasi, Mari kita bahas satu per satu sebelum kita lihat perbedaan nya.

Virtual Machine (VM) Merupakan sebuah Operating System atau software yang diinstal pada hypervisor dan memiliki fungsi layaknya perangkat fisik.

Sedangkan Container merupakan sebuah wadah yang digunakan untuk menciptakan sistem terisolasi pada level OS yang dijalankan pada satu host.

Dan berikut adalah perbedaan nya :

  1. Penggunaan resource, VM mengambil resource pada saat installasi nya diawal, Dan alokasi resource ini bersifat terisolasi, Misal jika kita menginstall VM-1 dan memberikan alokasi resource RAM sebesar 1GB, Lalu VM-1 hanya menggunakan sebesar 300MB maka sisa dari resource tersebut masih dimiliki oleh VM-1. Berbeda dengan Container yang memiliki alokasi resource dari host itu sendiri, Container mengambil alokasi resource langsung pada hardware host sesuai dengan yang dibutuhkan, Sehingga container menjadi lebih fleksibel dan memiliki scalabilitas tinggi dibanding dengan VM.
  2. Penggunaan hypervisor, Pada saat menggunakan VM kita membutuhkan hypervisor untuk membuat dan menjalan VM tersebut, Sedangkan Container tidak karena dapat berjalan langsung diatas sistem operasi.
Gambar 1.2

Untuk gambaran perbedaan tentang Container dan VM, Kalian bisa lihat pada Gambar 1.2  diatas.

Mungkin sekian tulisan kali ini, Semoga penjelasan diatas dapat memberikan kita pemahaman tentang Container dan Docker.

Ciaaow

 

Source : https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&cad=rja&uact=8&ved=2ahUKEwjGk9iKyNfsAhXHZCsKHRFUA3IQFjACegQIAxAC&url=https%3A%2F%2Fblog.samsul.web.id%2F2017%2F06%2Fberkenalan-dengan-docker.html&usg=AOvVaw19qG9uUahYUP0eoBf87vPg

https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&cad=rja&uact=8&ved=2ahUKEwjx1LDmw9fsAhWXTX0KHbEoDWMQFjAAegQIARAC&url=https%3A%2F%2Fmedium.com%2F%40viandwi24%2Fbelajar-docker-mengenal-apa-itu-docker-dan-container-container-vs-virtual-machine-3c20d7288224&usg=AOvVaw2wtUxVJ9uVYAaBKcasYHQq 

 https://medium.com/@webapps_3711/apa-itu-container-dan-apa-bedanya-dengan-vm-6f8c515d04cf

 https://medium.com/core-network-laboratory-tech-page/container-vs-vm-virtual-machine-72c2dc406355

https://www.it-jurnal.com/apa-itu-hypervisor/ 

 

0 Comments