Pada materi kali ini, kita akan melanjutkan seri dari Tutorial Docker. Setelah sebelumnya kita membahas tentang Apa Itu Docker dan Konsep Kontainer kita akan masuk ke materi tentang Image dan Container.
Sekarang kita kembali lagi ke materi utama tentang Docker Image dan Docker Container, Namun sebelum membahas Docker Image mari kita pahami dulu arsitektur dari Docker.
Pada gambar di atas, terdapat tiga komponen utama: Client, Docker Host, dan Registry. Namun, sebenarnya ketiga komponen tersebut berada dalam satu sistem operasi yang sama.
- Client
Ini adalah tempat pengguna berinteraksi dengan Docker Daemon, di mana komunikasi terjadi melalui perintah yang diketik menggunakan Docker CLI dan dikirim menggunakan REST API. - Docker Host
Docker Host adalah tempat atau lingkungan berjalannya Docker Daemon, dimana Docker Daemon sendiri memiliki tugas untuk memanajemen Image, Container, Volume dan Network. - Registry
Komponen Registry adalah tempat menyimpan image, perannya hampir mirip seperti Github/Gitlab untuk menyimpan projek secara terpusat. Terdapat beberapa Registry yang bisa temen-temen gunakan untuk menyimpan Image diantaranya :
a. Docker Hub (Registry Public dari Docker)
b. Azure Container Registry
c. Google Container Registry
d. Digital Ocean Container Registrty
Supaya lebih mudah dipahami, di sini saya akan memberikan gambaran sederhana tentang cara kerja Docker. Sebagai contoh, kita akan membuat sebuah container yang berisi database MySQL dan antarmuka GUI-nya menggunakan phpMyAdmin.
- Langkah pertama kita akan menjalankan perintah docker run dengan Docker CLI.
- Setelah printah dijalankan, Docker Daemon akan memproses perintah tersebut.
- Saat proses berjalan Docker Daemon akan mengecek apakah image MySQL dan phpMyadmin sudah terinstall di local komputer kita, kalau belum Docker Daemon akan otomatis mengunduh image yang diperlukan ke Registry.
- Ringan
Karena Container hanya berisi aplikasi dan dependensinya, maka ukuran dari container lebih kecil dibandingkan dengan virtual machine. - Isolasi
Setiap Container berjalan secara terisolasi, hal ini memungkinkan jika Container 1 terjadi error/crash maka tidak akan mengganggu ke container lain. - Portabilitas
Karena Container membawa semua dependensinya, maka aplikasi bisa dijalankan dimana saja (Local, Server dan Cloud) tanpa harus ada konfigruasi tambahan. - Berbasis Image
Container dibuat dari Docker Image yang berisi blueprint dari aplikasi, termasuk dependensi dan konfigurasinya.
Mungkin itu saja yang bisa kita pelajari dari materi kali ini. Semoga materinya dapat membantu teman-teman memahami tentang Docker Image, Docker Container dan Arsitektur Dasar dari Docker. Jika teman-teman memiliki pertanyaan atau ingin berbagi pengalaman, silakan ketikkan pada kolom komentar di bawah.
Sedikit Tentang Saya :
Sebagai seorang programmer profesional dengan pengalaman sekitar 4 tahun di bidang IT, saya siap membantu Anda dengan berbagai kebutuhan konsultasi.
Jangan ragu untuk menghubungi saya melalui WhatsApp.
Sampai jumpa di tutorial berikutnya!
Kontak Saya :
Email : ronisurya.115@gmail.com
WhatsApp : 081222821596
Website : Roni Surya
Tutorial Selanjutnya : Tutorial Docker - Implementasi Image dan Container
Tutorial Sebelumnya :