Pengenalan Docker
Pengenalan Docker
Disusun Oleh:
NIM : A11.2019.12293
Kelompok : A11.4118
2019
II
DAFTAR ISI
DAFTAR GAMBAR
Perkembangan teknologi tidak terlepas dari dukungan tools yang mendukung dan memudahkan
para developer. Dahulu, proses pengembangan aplikasi menggunakan arsitektur monolitik, dimana
para developer membuat satu kesatuan aplikasi yang sangat besar, hal tersebut dapat menimbulkan
masalah saat aplikasi sudah sangat besar, seperti sulit saat deployment atau pendistribusian aplikasi,
keselurahan aplikasi harus mengalami downtime saat hanya ada perubahan kecil. Hal tersebut bisa
diatasi dengan menggunakan arsitektur microservice, yaitu teknik pengembangan aplikasi dengan
membuat service-service kecil yang ter-integrasi, maka dalam proses deployment hanya akan
mengupdate service yang ingin di update saja tidak mematikan keseluruhan aplikasi yang sudah besar.
Penggunaan arsitektur microservice pada akhirnya juga dapat menimbulkan masalah baru, pada
sistem microservice biasanya satu developer akan mengembangkan satu service, ada kemungkinan dua
developer menggunakan bahasa pemrograman yang sama tetapi berbeda versi, dan service mereka di
deploy pada server yang sama, sedangkan sebuah server tidak dapat menjalankan dua bahasa
pemrograman yang sama dengan versi yang berbeda.
Makalah ini akan mengenalkan teknologi kontainer docker yang dapat menyelesaikan
permasalahan diatas
1
PEMBAHASAN
2
2.2.1 Docker Daemon
Seperti ditunjukkan dalam diagram di atas, daemon Docker berjalan pada mesin
host. pengguna tidak langsung berinteraksi dengan daemon, melainkan melalui klien
Docker.
Docker client, dalam bentuk docker biner, adalah antarmuka pengguna utama
untuk Docker. Docker client untuk menerima perintah dari pengguna dan
berkomunikasi bolak-balik dengan Docker daemon.
Mesin Virtual(Virtual Machine) memiliki sistem operasi penuh dengan manajemen memori
sendiri yang terpasang di perangkat virtual, Dalam Mesin Virtual sumber daya yang diberikan secara
penuh akan digunakan guest os, yang memungkinkan untuk menjalankan beberapa sistem operasi
secara pararel pada sebuah mesin, setiap sistem operasi guest akan berjalan secara individu dan
terpisah dengan sistem host.
Bedanya dengan Docker, docker dijalankan dengan Docker Engine dan bukan hypervisor, karena
kontainer lebih kecil dari mesin virtual memungkinkan start up lebih cepat dengan kineja yang lebih
baik dan kompatibilitas yang lebih besar karena menggunakan kernel host [2].
3
2.4 Komponen dalam docker
Untuk lebih memahami bagian di dalam Docker, anda perlu memahami tentang
tiga istilah dalam pengenalan docker ini:
Docker Image
Docker Registry
Docker Container
Sebuah Docker Image adalah template read-only. Sebagai contoh, sebuah Image
bisa berisi sistem operasi Ubuntu dengan Apache dan aplikasi web yang anda instal.
Image digunakan untuk membuat wadah Docker. Docker menyediakan cara yang
mudah untuk membangun Image baru atau memperbarui Image yang ada, atau anda
dapat men-download Docker Image yang dibuat oleh orang lain. Docker Image adalah
komponen pembangunan di Docker.
Docker rergistry berisi Image. Ini merupakan penyimpanan umum atau pribadi
dari Image yang di upload atau di download. Registri Docker publik disediakan dengan
Docker Hub. Docker Registry melayani koleksi Image yang ada untuk digunakan. Ini
dapat merupakan Image yang anda buat sendiri atau anda dapat menggunakan Image
lain yang telah dibuat sebelumnya. Docker registry adalah komponen distribusi
Docker.
4
Misalnya, pengembang anda menulis kode secara lokal dan berbagi
pengembangan mereka melalui Docker dengan rekan-rekan mereka. Ketika mereka
siap, mereka dapat mendorong kode dan pekerjaan lain yang dikembangkan ke sebuah
lingkungan pengujian dan melakukan tes yang diperlukan. Dari lingkungan pengujian,
anda kemudian dapat mendorong Docker Image ke dalam produksi dan menyebarkan
kode anda.
Platform berbasis kontainer Docker memungkinkan untuk beban kerja yang sangat
portabel. Kontainer Docker dapat berjalan pada host lokal pengembang, pada mesin
fisik atau virtual di sebuah data center, atau di Cloud.
Mencapai Kepadatan yang Lebih Tinggi dan Menjalankan Beban Kerja yang Lebih
Docker sangat ringan dan cepat. Ini memberikan alternatif, efektifitas biaya untuk
mesin virtual berbasis hypervisor. Hal ini sangat berguna di lingkungan kepadatan
tinggi: misalnya, membangun Cloud anda sendiri atau platform-as-a-Service (PaaS).
Tetapi juga berguna untuk penyebaran kecil dan menengah di mana anda ingin
mendapatkan lebih banyak dari sumber daya yang anda miliki.
5
KESIMPULAN
Kemajuan teknologi membuatnya semakin menjadi lebih praktis dan efektif, bahkan kemajuan
teknologi dapat memancing kemajuan teknologi lainya, bertujuan untuk membuat kegiatan
sehari-hari menjadi lebih mudah dan efektif
Sama halnya dalam proses pengembangan aplikasi, pada zaman sekarang, proses
pengembangan aplikasi bahkan proses distribusi/deployment sudah sangat dimudahkan dengan
teknologi-teknologi terbaru, bahkan teknologi-teknologi terbaru tersebut dapat memancing
kemunculan teknologi baru lainya.
6
REFERENSI