Cloud Computing - Docker


DOCKER

Docker adalah aplikasi open source untuk menyatukan file-file yang dibutuhkan sebuah software sehingga menjadi menjadi satu kesatuan yang lengkap dab berfungsi. Data pengaturan dan file pendukung disebut sebagai image. Selanjutnya kumpulan image digabung dalam satu wadah yang disebut Container. Docker merupakan solusi dari permasalahan yang kerap dialami para developer untuk mengembangkan aplikasi mereka agar bisa berjalan fleksibel di berbagai lingkungan.

Docker menjadi perhatian para developer sejak tahun 2013, diperkenalkan oleh Solomon Hykes dalam acara PyCon US. Beberapa waktu setelahnya, Docker dirilis pertama kali pada bulan Juni tahun 2014. Docker dikembangkan oleh Solomon bersama rekannya Andrea Luzzardi dan Francois-Xavier Bourlet. Pada saat itu Docker merupakan proyek internal dotCloud. Hasilnya, saat ini Docker sudah menjadi platform populer di lingkungan para developer di berbagai belahan dunia meskipun belum terlalu populer di Indonesia. Docker sendiri merupakan sebuah perusahaan yang menyediakan layanan platform kontainer. kemampuan yang dimiliki Docker yaitu mampu menjalankan berbagai macam aplikasi dengan konfigurasi sistem yang berbeda-beda, meskipun masih dalam satu perangkat komputer atau server.


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.


Fitur yang Dimiliki

Selanjutnya, dalam belajar Docker anda harus mengetahui beberapa fitur serta kegunaanya untuk menunjang proses pembuatan aplikasi yang dilakukan oleh tim pengembang.

  • Docker Compose, berfungsi untuk men- define perangkat lunak dengan menggunakan beberapa atau banyak Docker Container.
  • Docker Engine, berfungsi untuk membangun Docker images dan membuat Docker Container.
  • Docker Hub, digunakan untuk menyimpan (registry) berbagai macam Docker images.
  • Docker Windows, mampu untuk menjalankan Kontainer Docker pada sistem operasi Windows.
  • Docker Mac, mampu menjalankan Kontainer Docker pada Mac OS.
  • Docker Linux, digunakan untuk menjalankan Kontainer Docker pada sistem operasi Linux.


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.  


Next Post Previous Post
No Comment
Add Comment
comment url