Docker - Cloud System Services
Tue. Nov 19th, 2019

Docker

2 min read

Arti Dari Docker

Teknologi saat ini telah berkembang dengan pesat sehingga banyak aplikasi yang beredar menjadi banyak dan beragam. Hal ini mendorong para developer untuk mengembangkan suatu sistem yang fleksibel serta dapat menjadi wadah bagi berbagai macam aplikasi.

Para developer dalam membangun program biasanya menjalankan virtualisasi pada server agar pembuatan program tersebut bisa berjalan diberbagai platform. Hal ini cukup ribet dikarenakan perlu menyiapkan sebuah sistem operasi secara utuh, termasuk juga berbagai aplikasi yang dibawa oleh sistem tersebut. Untuk saat ini kendala tersebut dapat diminimalisir dengan adanya Docker.

Pertama kali dikembangkan oleh Solomon Hykes sebagai proyek internal di dotCloud, Docker merupakan aplikasi open source untuk menyatukan file-file yang dibutuhkan sebuah software sehingga menjadi satu kesatuan yang lengkap dan berfungsi.

Kemampuan yang dimiliki Docker yaitu mampu menjalankan berbagai macam aplikasi dengan konfigurasi sistem yang berbeda-beda, meskipun masih dalam satu perangkat komputer atau server. Hal ini membuat Docker menjadi solusi dari permasalahan yang kerap dialami para developer untuk mengembangkan aplikasi mereka agar bisa berjalan fleksibel di berbagai platform.

Docker menggunakan arsitektur berbasis client-server. Dalam hal ini, Docker client mengirimkan permintaan berupa sebuah perintah kepada Docker daemon untuk membangun, mendistribusikan, serta menjalankan container Docker.

Istilah yang ada pada Docker

  • Docker image merupakan template dasar untuk docker container yang berisi sistem operasi ataupun aplikasi yang sudah selesai. Docker image ini berfungsi untuk menjalankan container.
  • Docker container merupakan sebuah image yang bersifat read-write. Pada setiap perubahan yang disimpan pada container akan menyebabkan terbentuknya layer baru di atas image. Developer dapat melakukan instalasi aplikasi didalamnya dan melakukan penyimpanan.
  • Docker registries merupakan tempat penyimpanan (public atau private) di mana developer dapat mengunggah dan mengunduh image. Docker registries bersifat public disebut dengan Docker Hub. Disini, terdapat banyak image yang sudah dibuat atau image yang lain.
  • Dockerfile merupakan script yang yang berisi dari serangkaian perintah yang akan dieksekusi secara otomatis dan berurutan untuk membuat sebuah image.

Dibandingkan dengan virtualisasi yang berjalan diatas hypervisor atau guest OS, Docker dapat menjalankan aplikasi langsung tanpa kedua hal tersebut. Docker juga dilengkapi dengan fitur sandbox yang menjamin pengerjaan pengembang dan sysadmin tidak terganggu. Sandbox yang dalam 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.