Notice: Error when decoding a theme.json schema for user data. Syntax error in /home/code-kobo/public_html/wp-includes/class-wp-theme-json-resolver.php on line 314

Notice: Error when decoding a theme.json schema for user data. Syntax error in /home/code-kobo/public_html/wp-includes/class-wp-theme-json-resolver.php on line 314

021-3970 9999 info@vibicloud.com

Apa itu Docker dan Bagaimana Cara Kerjanya?

docker

Table of Contents

Halo, Apakah kalian sudah pernah mendengar kata Docker? Diantara kalian para pembaca mungkin sudah pernah mendengar teknologi yang bernama “docker” ini kan, tapi apakah kamu sudah tahu belum sih, lebih jelasnya terkait docker itu apa? Cara kerjanya seperti apa? Apakah mungkin cocok untuk diterapkan pada perusahaan kamu? Pertanyaan-pertanyaan tersebut akan kita bahas satu-persatu di artikel ini. So, berikut ini penjelasan terkait tentang Docker.

Apa itu Docker dan Container?

Berbicara tentang docker pasti berhubungan dengan teknologi container. Jadi sebelum kita bahas ke Docker itu sendiri, kita perlu mengenal apa itu Container? Container adalah sebuah teknologi atau software yang dapat melakukan pengemasan dari beberapa bahasa coding beserta dengan dependenciesnya, sehingga aplikasi dari coding tersebut dapat dijalankan dengan lebih cepat dan reliable, dan juga hasil pengemasan tersebut juga dapat dijalankan dari suatu environment ke environment lainnya.

Banyak orang yang bilang container itu merupakan suatu Virtual Machine yang sangat “ringan” atau lightweight VMs, ya mungkin penjelasan ini kalau di analogikan bisa juga, namun tetap kurang benar ya. Karena VM dengan Container itu mempunyai arsitektur yang berbeda. Di bawah ini merupakan perbedaan dari VM dengan container itu sendiri.

perbedaan container dan virtual machine
Perbedaan Container dan Virtual Machine

Dari gambar diatas dapat dilihat kalau pada container itu secara resources hampir seluruhnya sharing, baik itu dari segi CPU, RAM, maupun storage. Sedangkan kalau di virtual machine, pada masing-masing VM mempunyai resourcesnya sendiri-sendiri yang telah dialokasikan.

Jadi ketika kita akan membuat container untuk penentuan berapa RAM, CPU, maupun storage yang akan digunakan merupakan suatu hal yang optional dan tidak harus didefinisikan. Sedangkan jika kita akan membuat sebuah VM, maka hal yang pertama kali kita harus lakukan itu mendefinisikan jumlah resources yang akan digunakan itu seperti apa, mulai dari CPU, RAM, storage, dan lain-lain.

Dan kalau kita coba perhatikan pada gambar di atas juga, kalau kita akan membuat sebuah VM maka ada bagian yang dinamakan “Hypervisor”, yang dimana contohnya seperti ESXi, Hyper-V, Proxmox, dan sejenisnya. Sedangkan kalau di container itu sebenarnya ada semacam bagian yang seperti hypervisor tersebut, namun dinamakan sebagai “Container Engine”.

Salah satu contoh dari container engine yang terkenal yaitu Docker, yang dimana dengan adanya container engine ini maka container-container itu dapat dibuat.

Jadi, secara penjelasan sederhananya Docker adalah sebuah container engine yang dapat membuat, membagikan, dan juga menjalankan aplikasi-aplikasi yang kita inginkan dalam bentuk container.

Baca Juga: Mengenal Virtual Machine Serta Kelebihan dan Kekurangannya

Bagaimana Cara Kerja Docker?

Jadi sebenarnya cara kerja container engine docker ini sama seperti pada container pada umumnya. Tapi yuk kita jabarkan terkait cara kerja sederhananya, eits sebelum itu mungkin kita perlu tau dahulu terkait arsitektur penting di Docker ini, yaitu:

• Daemon (dockerd), merupakan suatu software dari docker itu sendiri yang dijalankan melalui API request, dan dapat melakukan management dari docker container, image, networks, dan volumes. Dan pada daemon ini juga digunakan untuk melakukan komunikasi dengan daemon lain untuk menggunakan layanan yang disediakan oleh docker tersebut.

• Client (docker), merupakan suatu software yang diinstall pada PC atau laptop yang digunakan untuk berinteraksi dengan daemon docker melalui API.

• Host, merupakan suatu tempat (berupa server) yang dimana untuk menjalankan docker daemon beserta dengan container-container di dalamnya.

• Container, ketika aplikasi beserta dengan dependenciesnya sudah dijalankan, maka hal tersebut sudah dikatakan sebagai container intance.

• Image, nah sebelum menjalankan container instance kita perlu membuat sebuah image dahulu, yang mana image ini merupakan seperti suatu template yang juga terdapat aplikasi beserta dependenciesnya.

• Registry, secara singkatnya, merupakan suatu tempat untuk menyimpan container image. Dan pada docker ini juga menyediakan registry tersebut yang dapat diakses melalui url hub docker.

Flow Cara Kerja Docker Container Jika Ingin Dijalankan

flow docker

1. Pada client (PC atau Laptop), menjalankan commands untuk melakukan management terhadap docker, maka command tersebut akan dikirimkan ke docker daemon (dockerd) melalui APInya. Sebagai contoh command docker run untuk menjalankan container.

2. Pada host, ketika docker daemon menerima command yang dikirimkan oleh client, maka akan langsung melakukan eksekusi sesuai perintah yang ada.

Sebagai contoh, ketika menerima command docker run maka docker daemon akan mendownload terlebih dahulu image yang akan digunakannya (contoh: nginx) dari docker registry, dan ketika sudah selesai mendownload image tersebut, maka docker daemon akan membuat sebuah instance sesuai dengan image yang telah didownload tersebut dan menjadikannya container instance.

Apakah Docker Cocok untuk Diterapkan di Perusahaan kamu?

Sebenarnya jawaban singkatnya “tergantung”. Karena tidak semua aplikasi yang dapat dijalankan melalui container, seperti contohnya aplikasi-aplikasi lawas yang sulit untuk di maintenance, yang dimana aplikasi ini biasanya akan juga tetap menggunakan environment yang lawas contohnya seperti dijalankan di windows versi 2003, maupun dependencies seperti Net framework versi yang sudah tidak disupport.
Namun jika aplikasi yang kamu miliki ataupun yang akan kamu buat itu sudah dapat merujuk ke arsitektur microservices maka akan sangat memungkinkan untuk dijalankan aplikasi tersebut menggunakan Docker ini.

Penutup

Sampai sini dulu yaa untuk artikel terkait tentang Docker ini, mudah-mudahan artikel ini dapat menambaha wawasan ataupun referensi terkait hal tersebut. Namun jika kamu ingin konsultasi terlebih dahulu perihal docker ini ataupun tentang Cloud, kamu bisa hubungi Tim ViBiCloud dengan klik tombol “Contact Us” di bawah ini yaa.
So, see you on the next article, stay safe and stay healthy.

Konsultasikan lebih lengkap dengan tim kami, klik button dibawah ini.