Docker adalah sebuah aplikasi yang berbasiskan teknologi
open source yang memungkinkan developer atau siapapun untuk membuat,
menjalankan, melakukan percobaan dan meluncurkan aplikasi di dalam sebuah
container. Docker membuat proses pemaketan aplikasi bersama komponennya secara
cepat dalam sebuah container yang terisolasi, sehingga dapat dijalankan dalam
infrastruktur lokal tanpa melakukan perbuahan konfigurasi pada container.
Fungsi dari 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.
Cara Menggunakan Docker
Berikutnya, bagaimana cara kerja yang harus
diimplementasikan oleh setiap pengembang dalam mengoperasikan Docker? Berikut
ini terdapat beberapa tahapan yang harus dilewati.
1. Docker Image
Merupakan file atau dokumen yang berisi panduan serta
informasi untuk membangun sebuah container. Dimana, image juga
berfungsi untuk menggunakan informasi.
2. Container
Merupakan environment atau lingkungan untuk
kebutuhan pengemasan aplikasi yang mencakup system tool, kode, runtime,
dan konfigurasi. Container hanya diperbolehkan untuk
mengakses resource yang telah diverifikasi oleh Docker image.
3. Docker Client
Yaitu tempat dimana user dapat mengirim
perintah (command) seperti Docker run, pull, dan build pada Docker Daemon.
4. Docker Host
Bertanggung jawab untuk menerima perintah dari Docker Client,
serta menyediakan lingkungan untuk menjalankan software secara
lengkap.
5. Docker Engine Rest API
Digunakan untuk sarana interaksi dengan Docker Daemon,
yang dapat diakses oleh klien melalui HTTP.
6. Docker Hub
Merupakan layanan (service) yang memungkinkan untuk
berbagi Container Image bersama tim.
7. Docker Daemon
Bertanggung jawab dalam mengelola Docker Image,
Container, Storage Volume dan Network. Serta, menerima
permintaan dari Docker API yang selanjutnya akan diproses oleh sistem.
8. Docker Registry
Yang terakhir adalah wadah atau tempat untuk menyimpan
sebuah Docker image. Yang mana akan memberikan output sesuai
dengan perintah yang diberikan.
Cara Kerja dari Docker
Setiap pengguna pasti menginginkan kegiatan yang mudah dan cepat selesainya, sehingga sebagai pengembang bisa lebih mudah dan lebih mendapatkan keuntungan. Dalam pengaplikasian Docker ada baiknya mengikuti cara berikut :
- Melakukan
cek di Docker version.
- Mengecek
apakah platform tersebut sudah bisa dijalankan dengan benar atau tidak.
- Lihat
dan cek image yang sudah tedownload.
- Hapuslah
image yang ada.
- Mengecek
banyak container yang biasanya dijalankan oleh mesin.
- Build
image.
- Lakukan
build serta berikan tag di image.
- Mengupload
image.
Contoh Studi Kasus:
Terdapat
beberapa server yang mana di dalamnya sudah menampung beberapa aplikasi web.
Server tersebut berbasis hypervisor sehingga membutuhkan resource besar. Karena
setiap VM menjalankan guest OS beserta kernelnya sendiri terpisah dari host.
Docker sangat ringan dan mempunyai mekanisme yang lebih maju jika dibandingkan
dengan perangkat lunak virtualisasi berbasis hypervisor. Indikasinya adalah
adanya efektivitas lebih pada Docker dalam hal penggunaan sumber daya mesin
host. karena dalam proses deployment, docker akan menjalankan sebuah container
menggunakan base image dengan metode file system as a layer yang berarti docker
hanya akan menyalin lapisan perubahannya saja untuk dijalankan sebagai
duplikasi container yang berbeda dengan base image yang sama. Dengan
diterapkannya sistem virtualisasi server berbasis container, diharapkan dapat
meningkatkan kinerja sebuah server dan memudahkan proses deployment
(penyebaran) aplikasi web beserta software pendukung seperti web server,
database server, dll ke server. Maka permasalahan yang ada diantaranya adalah
bagaimana mengimplementasikan docker untuk pengelolaan banyak aplikasi web.
Tidak ada komentar:
Posting Komentar