Docker adalah sebuah aplikasi yang bersifat open source yang berfungsi sebagai wadah/container untuk mengepak/memasukkan sebuah software secara lengkap beserta semua hal lainnya yang dibutuhkan oleh software tersebut dapat berfungsi. Pengaturan software beserta file/hal pendukung lainnya akan menjadi sebuah Image (istilah yang diberikan oleh docker). Kemudian sebuah instan dari Image tersebut kemudian disebut Container. docker, Docker pada awal didirikannya pada tahun 2009 menggunakan nama dotCloud Inc. Namun, pada tahun 2013 dotCloud diubah menggunakan nama Docker. Docker ini hadir bersamaan dengan munculnya Teknologi yang dikenal dengan microservices yaitu Pembagian aplikasi menjadi bagian-bagian kecil yang saling terhubung. Dan Docker mendukung teknologi ini, karena bisa dikatakan implentasi dari microservices juga kebanyakan menggunakan docker.
Perbedaan antara docker dengan virtual machine, bisa kita lihat perbandingannya pada arsitektur berikut :
Pada gambar diatas terlihat, perbandingan keduanya, ketika kita menggunakan VM, maka kita perlu menginstall Sistem operasi lalu kita bisa install aplikasi di atas sistem operasi tersebut, sedangkan yang di docker/container kita hanya perlu menjalankan aplikasi yang kita butuhkan saja, untuk sistem operasi akan mengikuti HOST OS dari Server docker tersebut. Dari dua gambaran tersebut dapat kita pahami keuntungan menggunakan container salah satunya adalah lebih cepat, salah satunya dengan docker yang termasuk container.-
- Docker Engine, digunakan untuk membangun Docker images dan membuat kontainer Docker.
-
- Docker Hub, registry yang digunakan untuk berbagai macam Docker images
-
- Docker Compose, digunakan untuk mendefinisikan aplikasi menggunakan banyak kontainer Docker.
- Docker support untuk Mac, Linux dan Windows
- Docker image, merupakan file berisi informasi dan petunjuk untuk membangun container. Image juga berfungsi untuk menggunakan dan mengirimkan informasi;
- Container, adalah lingkungan untuk mengemas dan menjalankan aplikasi. Ini mencakup kode, runtime, system tools, dan pengaturan. Container hanya bisa mengakses resource yang telah ditentukan dalam docker image;
- Docker client, yaitu tempat di mana pengguna dapat mengirimkan perintah seperti docker build, docker pull, dan docker run kepada Docker daeomon;
- Docker Engine Rest API, digunakan untuk berinteraksi dengan Docker daemon. Ini bisa diakses klien melalui HTTP;
- Docker host, menyediakan lingkungan yang lengkap untuk menjalankan aplikasi. Dia bertanggung jawab terhadap penerimaan perintah yang diberikan Docker client;
- Docker daemon, yaitu proses pengelolaan Docker images, kontainer, network, dan storage volumes. Docker daemon menerima request dari Docker API dan akan memprosesnya;
- Docker registry, wadah untuk menyimpan Docker image. Docker image akan memberi reaksi sesuai perintah yang diberikan. Misalnya saat diberi perintah docker push, docker image akan didorong atau dibagikan ke registri Docker Hub;
- Docker Hub adalah layanan yang disediakan untuk menemukan dan berbagi gambar container dengan tim.
0 comments:
Post a Comment