by Bloger Lumoshive Ara

Feb 23, 2022

Kenalan Dengan Teknologi Docker Container, Sejarah Singkat, Pengertian, Cara Kerja, Fungsi, Kelebihan Dan Kekurangan, Sampai Cara Instalasi Docker

Azis Zuhri Pratomo 

Halo, Sobat Lumosishive.

Artikel kali akan membahas tentang teknologi Docker Container , salah satu teknologi yang sedang booming saat ini. Untuk mempersingkat waktu yuk check this out :

 

Sejarah Singkat Perkembangan Docker

Docker pertama kali dikembangkan oleh Solomon Hykes sebagai project internal di dotCloud bersama dengan beberapa koleganya seperti Andrea Lussardi dan François-Xavier Bourlet. Perilisan platform ini secara open-source dilakukan pada mei 2013 silam. Docker terus berkembang hingga memiliki ribuan orang yang berkontribusi membuatnya menjadi lebih baik.

Beberapa waktu setelahnya, Docker dirilis pertama kali pada bulan Juni tahun 2014. Hasilnya, saat ini Docker sudah menjadi platform populer di lingkungan para developer di berbagai belahan dunia meskipun belum terlalu populer di Indonesia.

 

(source: https://www.niagahoster.co.id/blog/docker-tutorial/)

 

Pada DockerCon 2017 tahun lalu, CEO Docker, Ben Golub mengungkapkan bahwa Docker mengalami peningkatan penggunaan sejak tiga tahun terakhir. Sesuai dengan statistik pada diagram dapat dilihat bahwa sudah lebih dari 14 ribu host Docker, lebih dari 900 ribu aplikasi Docker, dan pertumbuhan pada tawaran pekerjaan yang berhubungan dengan Docker tumbuh sebesar 77 ribu. Angka ini menunjukan bahwa semakin lama Docker sudah mulai menjadi primadona para developer untuk mengembangkan aplikasi miliknya.

 

Apa itu Docker, Dan Bagaimana Bisa Sepopuler itu ?

Docker adalah salah satu platform yang dibangun berdasarkan teknologi container. Docker merupakan sebuah project open-source yang menyediakan platform terbuka untuk developer maupun sysadmin untuk dapat membangun, mengemas, dan menjalankan aplikasi dimanapun sebagai sebuah wadah (container) yang ringan. Dengan saking sangat populernya docker, sebagian orang sering menganggap docker adalah sebutan lain untuk container.

Perumpamaan Docker vs Virtual Machines

 

(source: https://miro.medium.com/max/1280/1*um2Ss-4DfJ7VdvR65e3wkQ.jpeg )

 

Berbeda dengan virtualisasi yang mana aplikasi berjalan di atas hypervisor dan guest OS, docker dapat menjalankan aplikasi langsung tanpa kedua hal tadi. Docker juga dilengkapi dengan fitur sandbox yang menjamin pengerjaan pengembang dan sysadmin tidak terganggu. 

Sandbox pada istilah keamanan komputer adalah mekanisme pemisahan aplikasi atau program tanpa mengganggu host (isolasi). Bagi pengembang, sandbox Menjamin aplikasinya dapat berjalan tanpa ada gangguan atas perubahan lingkungan host. Sedangkan bagi sysadmin, menjamin host server yang dikelola tidak terganggu dan dapat melakukan update tanpa takut mengganggu aplikasi.

 

Cara Kerja Docker

Untuk lebih memahami Docker, yuk coba kita pahami bagaimana cara docker bekerja. Ada beberapa komponen atau istilah yang perlu kita ketahui:

  • Container, adalah lingkungan untuk mengemas dan menjalankan aplikasi. Ini mencakup kode, runtime, system tools, dan pengaturan. Container hanya bisa mengakses resource yang telah ditentukan dalam docker image;

  • Docker image : merupakan file berisi informasi dan petunjuk untuk membangun container. Image juga berfungsi untuk menggunakan dan mengirimkan informasi; 

  • Docker client : yaitu tempat dimana pengguna dapat mengirimkan perintah seperti docker build, docker pull, dan docker run pada Docker daemon

  • Docker host : menyediakan lingkungan yang lengkap untuk menjalankan aplikasi. Dia bertanggung jawab terhadap penerimaan perintah yang diberikan Docker client;

  • Docker registry : wadah untuk menyimpan Docker image. Docker image akan memberi reaksi sesuai perintah yang diberikan. Misalnya saat diberi perintah docker push, docker image akan didorong atau dibagikan ke registry Docker Hub;

  • Docker Hub adalah layanan yang disediakan untuk menemukan dan berbagi gambar kontainer dengan tim.

  • Docker Engine Rest API, digunakan untuk berinteraksi dengan Docker daemon, Ini bisa diakses klien melalui HTTP.

  • Docker Daemon: Bertanggung jawab dalam pengelolaan Docker Image , Storage, Volume dan Network. Serta Menerima permintaan dari Docker API yang selanjutnya akan diproses oleh system

(source: https://www.niagahoster.co.id/blog/docker-tutorial/)

Dari flow diatas , kita bisa pahami bahwa cara kerja docker adalah sebagai berikut :

Pertama, Docker client akan berbicara kepada Docker daemon melalui Rest API. Pembicaraan ini berisi perintah yang perlu dilakukan.

Seperti yang terlihat dari tanda panah, docker build berfungsi untuk membangun image. Docker pull berperan mengunduh atau menarik image dari registry. Sedangkan docker run akan menjalankan proses dalam container.

Docker daemon akan mendengarkan perintah yang diberikan, kemudian menjalankan perintah dengan mengelola objek seperti gambar, kontainer, dan lain-lain.

 

Fungsi Docker

Setidaknya, terdapat lima fungsi umum yang dimiliki oleh Docker, diantaranya adalah sebagai berikut.

1. Menunjang Produktivitas Developer

Fungsi yang pertama adalah mampu untuk menunjang kinerja dalam melakukan tahapan development produk aplikasi secara efektif dan mencapai target produksi yang optimal. Dengan penggunaan platform ini, mempermudah dalam menjalankan beberapa layanan sekaligus dan cocok untuk pengerjaan proyek berskala menengah ke atas.

2. Tahap Konfigurasi yang Sederhana

Docker memiliki keunggulan yang sama dengan virtual machine pada umumnya, akan tetapi tidak menggunakan overhead. Adanya proses konfigurasi yang sederhana dalam banyak lingkungan, mampu untuk memisahkan kebutuhan infrastruktur pada aplikasi tersebut.

3. Manajemen Kode Pipeline

Terdapat platform yang memberikan kemudahan dalam proses pengembangan kode, penyaluran pada pipa, hingga fase pengembangan di tahap produksi. Untuk itulah, Docker menjadi salah satu solusi untuk mengatasi permasalahan dalam mengelola pipeline code.

4. Dapat Digunakan dalam Debugging Mode

Fungsi yang keempat adalah mampu menggunakan fitur debugging mode, dimana setiap pengembang hanya perlu waktu sekitar semenit saja untuk dapat melakukan proses debug pada Sandbox. Kelebihan yang lain, anda dapat menggunakan atau beralih untuk mencoba versi yang baru pada situs web tersebut.

5. Mendukung Pengembangan Platform Multi-Cloud

Fungsi yang terakhir, mampu berjalan diberbagai platform, dikarenakan beberapa penyedia layanan cloud besar di dunia telah menyediakan dukungan layanan kepada Docker. Sehingga Docker Container dapat berjalan segala jenis layanan cloud yang ada, serta memungkinkan sebuah aplikasi mampu di-porting antar environment dengan mudah.

 

Kekurangan Dan Kelebihan Docker

Dalam suatu teknologi pasti mempunyai kelebihan dan kekurangannya masing, begitu juga dengan Docker . Adapun kelebihan dan kekurangan Docker sebagai berikut :

Kelebihan :

  • Memungkinkan Anda melacak versi penampung untuk memeriksa variasi.

  • Kecepatan.

  • Dokumentasi yang sangat bagus.

  • Isolasi yang baik antar aplikasi.

  • Pengaturan awal yang efisien dan mudah.

Kekurangan :

  • Itu tidak menyediakan opsi penyimpanan.

  • Tindak lanjut yang buruk.

  • Tidak ada pemrograman ulang otomatis dari node yang tidak aktif.

  • Tindakan harus dilakukan di CLI.

  • Manajemen manual dari banyak contoh.

  • Anda membutuhkan dukungan untuk alat lainnya.

  • Penerapan cluster manual yang rumit.

  • Tidak ada dukungan untuk health-check.

  • Docker adalah perusahaan nirlaba dan beberapa komponen pentingnya, seperti Docker Engine dan Docker Desktop, bukanlah open source.

Cara Instalasi Docker Pada OS Ubuntu

Tutorial instalasi Docker kali ini akan menggunakan System Operation Linux Ubuntu . Secara garis besar tahapan-tahapannya hampir sama dengan OS lainnya . Adapun langkah-langkahnya sebagai berikut :

 

Langkah 1 – Syarat utama untuk bisa melakukan instalasi Docker adalah sistem operasi harus menggunakan kernel minimal versi 3,8 atau setelahnya.

Catatan: Minimal kernel agar bisa melakukan proses instalasi Docker adalah versi 3,8

Proses pengecekan bisa dilakukan dengan perintah uname.

$ uname -a

Hasil dari perintah tersebut bisa dilihat bahwa sistem operasi menggunakan versi kernel diatas 3,8, jadi kita bisa melanjutkan ke proses selanjutnya.

 

Langkah 2 – Update sistem operasi merupakan hal wajib yang harus dilakukan pada sistem operasi ubuntu sebelum melakukan instalasi sebuah paket.

 $ sudo apt update 

 

Langkah 3 – Langkah selanjutnya adalah melakukan instalasi beberapa sertifikat yang diperlukan agar Docker bisa berjalan.

$ sudo apt-get install apt-transport-https ca-certificates 

 

Langkah 4 – Langkah selanjutnya adalah dengan menambahkan GPG key untuk memastikan bahwa data terenkripsi  ketika proses pengunduhan paket yang diperlukan Docker.

 

Langkah 5 – Tambahkan repository sesuai dengan versi yang sesuai dengan sistem operasi yang dipakai. Kami menggunakan Ubuntu 16.04 jadi kamu menggunakan repository Xenial.

# Xenial 16.04 (LTS) – https://apt.dockerproject.org/repo ubuntu-xenial main

$ sudo echo “deb https://apt.dockerproject.org/repo ubuntu-xenia main” 

 

Kemudian jalankan perintah

$ sudo tee /etc/apt/sources.list.d/docker.list 

 

Langkah 6 – Kemudian eksekusi perintah sudo apt update untuk memperbarui paket pada sistem Ubuntu.

 

Langkah 7 – Untuk memastikan jika package manager sudah mengarah pada repository yang tepat, gunakan perintah

$ apt-cache command.

$ sudo apt-cache policy docker-engine 

 

Langkah 8 – Versi terbaru Docker memerlukan beberapa paket yang harus di instal pada beberapa sistem operasi. Gunakan perintah berikut untuk menambahkan paket tersebut.

$ sudo apt-get install linux-image-extra-$(uname -r) 

$  linux-image-extra-virtual 

 

Langkah 9Langkah yang paling penting adalah melakukan instalasi Docker.

$ sudo apt-get install –y docker-engine  

 

Langkah 10 Periksa versi Docker yang sudah terinstal dengan menggunakan perintah

$ sudo docker version

$ sudo docker info

 

Dan untuk melihat informasi secara detail Docker yang sudah terinstal. Docker adalah salah satu teknologi container yang banyak dipakai saat ini, karena memberikan pemecahan masalah fleksibilitas untuk menjalankan aplikasi dengan lingkungan yang berbeda-beda.

 

 Daftar Pustaka :

 

Membungkus

Terima kasih sudah menyisihkan sedikit waktu untuk membaca artikel diatas. Jika Anda tertarik untuk bekerja sama dengan Lumoshive Anda dapat menghubungi kami melalui :

Email : [email protected]

Instagram : @lumoshive.official

 

Sampai jumpa dilain hari dengan artikel selanjutnya!!

 

Related Post

Menjalankan Postgres Docker Container di Oracle Cloud Infrastructure

by Bloger Lumoshive Ara

Feb 21, 2022

0

  Halo sahabat Lumoshive, pada kesempatan kali ini tim kami akan mengajak Anda untuk mengeta...