Bagikan melalui


Terminologi Docker

Petunjuk / Saran

Konten ini adalah kutipan dari eBook, Arsitektur Layanan Mikro .NET untuk Aplikasi .NET Kontainer, tersedia di .NET Docs atau sebagai PDF gratis yang dapat diunduh yang dapat dibaca secara offline.

Arsitektur Layanan Mikro .NET untuk Aplikasi .NET Dalam Kontainer: gambar kecil sampul eBook.

Bagian ini mencantumkan istilah dan definisi yang harus Anda kenal sebelum masuk lebih dalam ke Docker. Untuk definisi lebih lanjut, lihat glosarium ekstensif yang disediakan oleh Docker.

Gambar kontainer: Paket dengan semua dependensi dan informasi yang diperlukan untuk membuat kontainer. Gambar mencakup semua dependensi (seperti kerangka kerja) ditambah konfigurasi penyebaran dan eksekusi yang akan digunakan oleh runtime kontainer. Biasanya, gambar berasal dari beberapa gambar dasar yang merupakan lapisan yang ditumpuk di atas satu sama lain untuk membentuk sistem file kontainer. Gambar tidak dapat diubah setelah dibuat.

Dockerfile: File teks yang berisi instruksi untuk membangun gambar Docker. Ini seperti skrip batch, baris pertama menyatakan gambar dasar untuk memulai dan kemudian mengikuti instruksi untuk menginstal program yang diperlukan, menyalin file, dan sebagainya, sampai Anda mendapatkan lingkungan kerja yang Anda butuhkan.

Build: Tindakan membangun gambar kontainer berdasarkan informasi dan konteks yang disediakan oleh Dockerfile-nya, ditambah file tambahan di folder tempat gambar dibangun. Anda dapat membuat gambar dengan perintah Docker berikut:

docker build

Kontainer: Instans gambar Docker. Kontainer mewakili eksekusi satu aplikasi, proses, atau layanan. Ini terdiri dari konten gambar Docker, lingkungan eksekusi, dan serangkaian instruksi standar. Saat menskalakan layanan, Anda membuat beberapa instans kontainer dari gambar yang sama. Atau tugas batch dapat membuat beberapa kontainer dari gambar yang sama, dengan memberikan parameter yang berbeda kepada setiap instans.

Volume: Menyediakan sistem file yang dapat ditulis yang dapat digunakan oleh kontainer. Karena gambar bersifat baca-saja tetapi sebagian besar program perlu menulis ke sistem file, volume menambahkan lapisan bisa-tulis, di atas gambar kontainer, sehingga program memiliki akses ke sistem file yang dapat ditulis. Program ini tidak tahu bahwa ia mengakses sistem file berlapis, ini hanya sistem file seperti biasa. Volume hidup di sistem host dan dikelola oleh Docker.

Tag: Tanda atau label yang dapat Anda terapkan ke gambar sehingga gambar atau versi yang berbeda dari gambar yang sama (tergantung pada nomor versi atau lingkungan target) dapat diidentifikasi.

Build Multi-tahap: Adalah fitur dalam Docker sejak versi 17.05 atau lebih tinggi, yang membantu mengurangi ukuran citra akhir. Misalnya, gambar dasar besar, yang berisi SDK dapat digunakan untuk mengkompilasi dan menerbitkan dan kemudian gambar dasar khusus runtime kecil dapat digunakan untuk menghosting aplikasi.

Repositori (repo): Sekumpulan citra Docker terkait, diberi label tag yang menunjukkan versi citra. Beberapa repos berisi beberapa varian gambar tertentu, seperti gambar yang berisi SDK (lebih berat), gambar yang hanya berisi runtime (lebih ringan), dll. Varian tersebut dapat ditandai dengan tag. Satu repositori dapat berisi varian platform, seperti gambar Linux dan gambar Windows.

Registri: Layanan yang menyediakan akses ke repositori. Registri default untuk sebagian besar gambar publik adalah Docker Hub (dimiliki oleh Docker sebagai organisasi). Registri biasanya berisi repositori dari beberapa tim. Perusahaan sering memiliki registri privat untuk menyimpan dan mengelola gambar yang telah mereka buat. Azure Container Registry adalah contoh lain.

Gambar multi-arsitektur: Untuk multi-arsitektur (atau multi-platform), ini adalah fitur Docker yang mempermudah pemilihan gambar yang tepat, sesuai dengan platform tempat Docker berjalan. Misalnya, ketika Dockerfile meminta gambar dasar DARI mcr.microsoft.com/dotnet/sdk:8.0 dari registri, itu benar-benar mendapatkan 8.0-nanoserver-ltsc2022, 8.0-nanoserver-1809 atau 8.0-bullseye-slim, tergantung pada sistem operasi dan versi tempat Docker berjalan.

Docker Hub: Registri publik untuk mengunggah gambar dan bekerja dengannya. Docker Hub menyediakan hosting image Docker, registri publik atau privat, pemicu build dan web hook, serta integrasi dengan GitHub dan Bitbucket.

Azure Container Registry: Sumber daya publik untuk bekerja dengan gambar Docker dan komponennya di Azure. Ini menyediakan registri yang dekat dengan penyebaran Anda di Azure dan yang memberi Anda kontrol atas akses, sehingga memungkinkan untuk menggunakan grup dan izin Azure Active Directory Anda.

Docker Trusted Registry (DTR): Layanan registri Docker (dari Docker) yang dapat diinstal secara lokal sehingga berada dalam pusat data dan jaringan organisasi. Sangat nyaman untuk gambar pribadi yang seharusnya dikelola oleh perusahaan. Docker Trusted Registry disertakan sebagai bagian dari produk Docker Datacenter.

Docker Desktop: Alat pengembangan untuk Windows dan macOS untuk membangun, menjalankan, dan menguji kontainer secara lokal. Docker Desktop untuk Windows menyediakan lingkungan pengembangan untuk Kontainer Linux dan Windows. Host Linux Docker di Windows didasarkan pada komputer virtual Hyper-V . Host untuk Kontainer Windows didasarkan langsung pada Windows. Docker Desktop untuk Mac didasarkan pada kerangka kerja Apple Hypervisor dan hypervisor xhyve, yang menyediakan komputer virtual host Docker Linux di macOS. Docker Desktop untuk Windows dan untuk Mac menggantikan Docker Toolbox, yang didasarkan pada Oracle VirtualBox.

Compose: Alat baris perintah dan format file YAML dengan metadata, digunakan untuk menentukan dan menjalankan aplikasi dengan banyak kontainer. Anda menentukan satu aplikasi berdasarkan beberapa gambar dengan satu atau beberapa file .yml yang dapat mengambil alih nilai tergantung pada lingkungan. Setelah membuat definisi, Anda dapat menyebarkan seluruh aplikasi multi-kontainer dengan satu perintah (docker-compose up) yang membuat kontainer per gambar pada host Docker.

Kluster: Kumpulan host Docker yang diekspos seolah-olah itu adalah satu host Docker virtual, sehingga aplikasi dapat menskalakan ke beberapa instans layanan yang tersebar di beberapa host dalam kluster. Kluster Docker dapat dibuat dengan Kubernetes, Azure Service Fabric, Docker Swarm, dan Mesosphere DC/OS.

Orkestrator: Alat yang menyederhanakan manajemen kluster dan host Docker. Orkestrator memungkinkan Anda mengelola gambar, kontainer, dan host mereka melalui antarmuka baris perintah (CLI) atau antarmuka pengguna grafis. Anda dapat mengelola jaringan kontainer, konfigurasi, penyeimbangan beban, penemuan layanan, ketersediaan tinggi, konfigurasi host Docker, dan banyak lagi. Orkestrator bertugas menjalankan, mendistribusikan, menskalakan, dan menyembuhkan beban kerja di seluruh kumpulan nodus. Biasanya, produk orkestrator adalah produk yang sama yang menyediakan infrastruktur kluster, seperti Kubernetes dan Azure Service Fabric, di antara penawaran lain di pasar.