Workshop Bersama Mas Mario Gulo (Pengenalan Docker)

A. Pengertian
Docker merupakan project open source yang menyediakan platform terbuka dalam bentuk teknologi virtualisasi berbasis container, ditunjukkan bagi para developer maupun sysadmin untuk dapat membangun, membundel dan menjalankan aplikasi dimanapun dalam satu container yang ringan. Mirip seperti Virtual Machine (VM) namu lebih ringan karena Docker tidak membawa keseluruhan sistem operasi, melainkan berbagi sistem dengan host induknya.
Docker mempunyai Tagline”Buid, Ship and Run Any App, Anywhere” yang kira-kira artinya kita bisa membuat, mendistribusikan dan menjalankan aplikasi pada berbagai platform. Docker menyatukan perangkat lunak dalam file system lengkap berisi semua yang diperlukan untuk menjalankannya: source code, paket sistem untuk runtime, perngkat sistem, sistem pustaka software – apa pun yang dapat di install pada Server.
Hal ini menjamin bahwa perangkat lunak akan selalu berjalan sama, tidak tergantung pada lingkungannya. Sebagai Contoh, Jika aplikasi sudah berjalan dengan baik pada Docker berbasis Linux SUSE, sistem yang sama akan berjalan dengan baik pula pada docker berbasis linux ubuntu, linux red hat, CentOs maupun lainnya. Pada perkembangan terkini, Docker bahkan bisa dijalankan diatas sistem windows maupun MacOS.


B. Sejarah
Solomon Hykes memulai Docker di Prancis sebagai proyek internal di dotCloud , perusahaan platform-as-a-service , dengan kontribusi awal oleh insinyur dotCloud lainnya termasuk Andrea Luzzardi dan Francois-Xavier Bourlet. Jeff Lindsay juga terlibat sebagai kolaborator independen. Docker mewakili evolusi teknologi milik dotCloud, yang dibangun di atas proyek sumber terbuka sebelumnyaseperti Cloudlets .
Docker dirilis sebagai open source pada bulan Maret 2013.  Pada tanggal 13 Maret 2014, dengan diluncurkannya versi 0.9, Docker menjatuhkan LXC sebagai lingkungan eksekusi default dan menggantinya dengan library libcontainernya sendiri yang ditulis dalam bahasa pemrograman Go . Pada tanggal 24 Oktober 2015 , proyek ini memiliki lebih dari 25.600 bintang GitHub (menjadikannya proyek GitHub terbagi ke-20), lebih dari 6.800 garpu, dan hampir 1.100 kontributor. 
Analisis Mei 2016 menunjukkan organisasi berikut sebagai kontributor utama Docker: Tim Docker, Cisco , Google , Huawei , IBM , Microsoft , dan Red Hat . 
Analisis profil LinkedIn di LinkedIn pada bulan Januari 2017 menunjukkan kehadiran Docker tumbuh sebesar 160% pada tahun 2016. 
Pada bulan April 2014, terungkap bahwa lengan investasi CIA In-Q-Tel adalah investor besar di Docker. Docker belum menanggapi pertanyaan tentang sifat investasi dan jika ada pemalsuan terhadap produk akhir yang diminta oleh agen mata-mata dan jika demikian, permintaan apa yang terpenuhi.

C.Komponen Docker

Docker memiliki banyak komponen, setiap komponen itu saling membutuhkan satu sama lain, berikut adalah komponen pembentukan docker:
  1. Docker Image
    Docker image merupakan template yang bersifat read-only. Contohnya sebuah aplikasi image yang berisi sistem operasi ubuntu dengan Apache dan aplikasi web yang telah kita install. Image ini yang digunakan untuk menjalankan Container.
  2. Docker Container
    Docker container merupakan sebuah image bersifat read-write yang berjalan di atas image, Docker menggunakan union-file sistem sebagai back end file sistem containernya, dimana setiap perubahan yang disimpan pada container akan menyebabkan terbentuknya layer baru di atas base image.
  3. Docker Registry
    Docker registry merupakan repository distribusi kumpulan docker image yang terpusat baik bersifat public ataupun private repository. Registry public Docker disebut dengan Docker Hub. Disini kita bisa menyimpan docker image yang kita miliki alias push image maupun menggunakan image yang sudah ada alias pull image.
  4. Docker File
    Dokcer file merupakan sebuah skrip otomasi (builder) yang membangun sebuah image. Sebuah Docker file merupakan text atau skrip yang berisi semua perintah yang biasanya kita lakukan manual untuk membangun sebuah image.
  5. Repository
    Docker menggunakan kata ini mirip dengan yang digunakan pada Github dan source control system lainnya, namun jenis yang berbeda. Repository berupa ID untuk setiap image yang disimpan dalam registry. Ketika kita menjalankan perintah docker commit makan image itu akan kita beri nama dengan format namafile/nama_image.
  6. Docker Index
    Docker index terkait dengan Docker Hub Registry, meski keduanya memiliki fungsi yang berlainan. Index mengatur user account, permission, search, tagging dan hal lain yang tersimpan oada web interface public. Ketika kita melakukan eksekusi perintah docker run untuk menjalankan suatu docker image, hail itu digunakan untuk mencari data pada index bukan registry.

No comments:

Post a Comment