Gambar kontainer adalah file statis yang tidak berubah yang menyimpan kode yang dapat dieksekusi dan beroperasi secara terpisah pada infrastruktur TI.
Sebuah gambar kontainer merakit semua komponen yang diperlukan untuk membuat kontainer pada sistem operasi, dan terdiri dari lapisan gambar yang berbeda yang ditumpuk di atas satu sama lain. Gambar kontainer tidak dapat diubah dan berbagi fungsi yang sama dengan templat.
Gambar kontainer disimpan dalam registri gambar kontainer (atau container registry) yang berfungsi sebagai jenis sistem file. Container registry adalah repositori data (atau beberapa repositori) yang menyimpan gambar kontainer untuk penyimpanan dan/atau akses.
Salah satu keuntungan penting dari container registry adalah kemampuannya terhubung dengan mulus ke sistem atau platform orkestrasi kontainer seperti Kubernetes dan Docker. Selain itu, container registry dapat digunakan dalam kapasitas DevOps selama pengembangan aplikasi berbasis kontainer, memungkinkan integrasi alur kerja yang lebih efisien dan teroptimasi.
Gambar kontainer adalah akumulasi lapisan rakitan yang mencakup yang berikut:
Pada gambar baru yang dibuat dari awal, semuanya dimulai dari lapisan paling bawah, yaitu gambar dasar. Gambar dasar adalah tempat sebagian besar alur kerja pengembangan berbasis kontainer dimulai. Banyak image dasar terdiri dari distribusi Linux dasar atau minimal (seperti Debian, Ubuntu, Red Hat Enterprise Linux (RHEL), Rocky Linux atau Alpine). Gambar dasar adalah tempat file sistem file kontainer disimpan. Proses pembuatan gambar dasar (dikenal sebagai “building”) memungkinkan pengembang untuk membangun lingkungan standar, yang mendukung gambar kontainer khusus.
Kemudian, suksesi lapisan sistem file ditambahkan dan ditumpuk di atas gambar dasar, termasuk yang berikut:
Untuk gambar kontainer yang menggabungkan gambar yang sudah ada, gambar dasar dari gambar yang sudah ada dikenal sebagai Gambar Induk. Jika gambar sepenuhnya asli, dikatakan tidak memiliki Gambar Orang Tua.
Gambar kontainer disimpan dalam container registry, di mana gambar dapat diunggah ke container registry itu (“pushing”) atau diunduh ke sistem yang berbeda (“pulling”).
Container registry menggunakan penyimpanan objek untuk memanifestasikan metadata tentang gambar kontainer. Solusi ini menawarkan sarana untuk berhasil mentransfer metadata tersebut, tetapi terbatas. Misalnya, dalam kasus data yang melibatkan banyak gambar, ada batasan jumlah tag daftar yang tersedia.
Kontainer ketergantungan menawarkan metode penyimpanan lain. Kontainer ini memungkinkan pengelolaan, pendaftaran, dan penyelesaian dependensi dalam aplikasi. Dependensi menggambarkan situasi di mana satu objek atau proses harus terjadi sebelum objek lain dapat berfungsi sesuai urutan.
Mengingat kebutuhan mendesak akan keamanan daring, autentikasi individu yang diberi akses ke repositori sangat penting. Autentikasi menggunakan serangkaian izin khusus untuk container registry tersebut. Izin ini menentukan siapa yang berwenang menggunakan sumber daya dari container registry.
Konsep waktu proses sangatlah penting. Waktu proses kontainer adalah perangkat lunak yang memungkinkan kontainer beroperasi dalam sistem host. Waktu proses kontainer menggunakan serangkaian langkah untuk melaksanakan pembuatan kontainer. Langkah-langkah ini mencakup seluruh proses pembentukan kontainer dan inisialisasi lingkungannya, sesuai dengan gambar kontainer yang berisi aplikasi dan dependensinya.
Ada dua penyedia orkestrasi kontainer yang merupakan pusat penggunaan kontainer dan gambar kontainer:
Docker adalah sistem orkestrasi kontainer yang mengurangi kerumitan dalam membuat, menerapkan, dan menjalankan aplikasi. Docker dipandang sebagai cara mudah untuk membangun kontainer yang ringan dan mandiri yang dapat berjalan pada platform apa pun, terlepas dari infrastruktur tertentu. Karena perangkat ini dapat dipindah dari satu mesin ke mesin lain, kontainer Docker juga menawarkan portabilitas tertinggi. Selain itu, Docker menyediakan sarana standar untuk penerapan layanan mikro, dengan mengizinkan pengguna mengemas layanan mikro sebagai gambar kontainer.
Sumber daya gambar Docker berasal dari DockerHub, yang menyediakan akses gratis ke lebih dari 100.000 gambar dan file Docker lainnya yang dibagikan oleh pengguna Docker, vendor perangkat lunak, dan proyek sumber terbuka. Layanan container registry Docker berbayar juga tersedia untuk penggunaan pribadi. Gambar Docker dikelola melalui antarmuka baris perintah Docker (Docker CLI) yang memungkinkan operasi utama seperti login, push, dan pull. Pengguna dapat membuat gambar Docker menggunakan fitur Docker Build dari Docker Engine, yang memungkinkan pengemasan dan pembundelan kode sumber. Konfigurasi Docker dapat dilakukan dengan menggunakan file konfigurasi berformat JavaScript Object Notation (JSON). JSON adalah format yang disukai karena mempertahankan semua konfigurasi di satu tempat.
Kubernetes adalah platform sumber terbuka untuk orkestrasi kontainer. Kubernetes digunakan untuk mengotomatiskan berbagai proses perangkat lunak, seperti manajemen, penerapan, dan penskalaan. Dalam Kubernetes service, satu atau beberapa komputer (baik mesin virtual atau bare metal server) digabungkan dalam klaster Kubernetes, tempat berbagai beban kerja kontainer dengan ukuran dan jenis yang berbeda dapat dijalankan. Server Kubernetes Antarmuka Pemrograman Aplikasi (API) mengonfigurasi data untuk objek API seperti pemalut, layanan, pengontrol replikasi, dan sebagainya. API memungkinkan aplikasi perangkat lunak yang berbeda saling berkomunikasi dan berbagi data dalam kerjasama penuh satu sama lain.
Meskipun Docker dan Kubernetes menyediakan layanan serupa, keduanya berbeda dalam hal skala. Docker adalah sebuah waktu proses kontainer, tetapi Kubernetes adalah sebuah platform lengkap yang mengakomodasi kontainer dari beberapa waktu proses kontainer. Docker adalah salah satu waktu proses kontainer yang didukung oleh Kubernetes.
Citra kontainer adalah komponen utama penggunaan container registry.
Gambar kontainer dimaksudkan dan dirancang untuk menampung semua yang diperlukan untuk menjalankan kontainer. Setelah gambar kontainer dibuat, yang diperlukan untuk menjalankan kontainer hanyalah perintah yang tepat dari sistem komputer. Hal ini membuat gambar kontainer sangat cocok untuk implementasi cepat.
Prioritas bisnis sering berubah dalam semalam. Dengan membuat gambar kontainer sebelumnya, organisasi dapat memperkirakan semua kebutuhan kontainer potensial, kemudian memilih kontainer yang paling sesuai untuk waktu dan tujuan itu. Gambar kontainer memberi organisasi kemampuan untuk berputar sesuai kondisi yang menentukan.
Keamanan gambar kontainer ditegakkan melalui kontrol akses yang diberlakukan oleh container registry. Ini termasuk protokol autentikasi untuk memastikan bahwa persona yang tidak berwenang ditolak akses ke gambar kontainer. Enkripsi gambar secara rutin digunakan sekarang untuk mengodekan gambar dan melindunginya dari kerentanan.
Aktivitas berikut memanfaatkan gambar kontainer secara ekstensif:
Penerapan berbasis kontainer—didukung oleh penggunaan gambar kontainer—mendukung arsitektur cloud-native dan memberinya isolasi dan fleksibilitas yang diperlukan. Kontainer dan gambar kontainer memungkinkan pengguna membuat dan mengoptimalkan aplikasi cloud-native yang Dapat diskalakan.
Banyak container registry (dan gambar kontainer di dalamnya) membantu pengguna layanan mikro dengan memperjelas proses menemukan dan menghubungkan ke layanan mikro tertentu dalam klaster kontainer.
Mesin virtual (VM) adalah sistem komputer yang menggunakan perangkat lunak pada satu komputer untuk meniru fungsi komputer lain. ViM memiliki hubungan unik dengan gambar kontainer. Pengguna sering kali mengganti VM sebagai sistem operasi host untuk kontainer, alih-alih menjalankan kontainer langsung pada perangkat keras, terutama ketika kontainer perlu dijalankan di cloud.
Pasar untuk penyedia gambar kontainer lancar dan dinamis, dengan banyak aktivitas dan banyak pemain industri yang memasuki dan keluar dari pasar. Namun, penyedia ini telah membangun reputasi yang langgeng di pasar ini:
Red Hat OpenShift on IBM Cloud adalah OpenShift Container Platform (OCP) yang dikelola sepenuhnya.
Solusi kontainer menjalankan dan meningkatkan beban kerja dalam kontainer dengan keamanan, inovasi sumber terbuka, dan penerapan yang cepat.
Dapatkan kemampuan baru dan dorong ketangkasan bisnis dengan layanan konsultasi cloud IBM. Temukan cara berkolaborasi dalam menciptakan solusi, mempercepat transformasi digital, dan mengoptimalkan kinerja melalui strategi hybrid cloud dan kemitraan pakar.