Container Image adalah file statis yang tidak dapat diubah yang menyertakan kode yang dapat dieksekusi sehingga dapat menjalankan proses terisolasi pada infrastruktur teknologi informasi (TI). Gambar atau Image ini terdiri dari pustaka sistem, alat sistem, dan pengaturan platform lain yang perlu dijalankan program perangkat lunak pada platform DevOps seperti Docker atau CoreOS Rkt. Image tersebut berbagi kernel OS dari mesin host-nya.

Container Image dikompilasi dari lapisan sistem file yang dibangun ke induk atau dasar image. Lapisan ini mendorong penggunaan kembali berbagai komponen, sehingga pengguna tidak membuat semuanya dari awal untuk setiap proyek. Secara teknis, base image digunakan untuk gambar yang sepenuhnya baru, sementara induk menunjukkan modifikasi dari image yang ada. Namun, dalam praktiknya, istilah ini digunakan secara bergantian.

Jenis container image

Pengguna membuat container image dari awal dengan perintah bangun dari platform container seperti Docker. Pembuat container image dapat memperbaruinya dari waktu ke waktu untuk memperkenalkan lebih banyak fungsi, memperbaiki bug atau mengubah produk, dan dapat memodifikasi gambar untuk menggunakannya sebagai dasar untuk container baru.

Untuk peningkatan otomatisasi, set lapisan dijelaskan oleh pengguna dalam Dockerfile, dan ini dirangkai menjadi image. Setiap perintah di Dockerfile membuat layer baru di gambar. Alat integrasi kontinyu seperti Jenkins juga dapat mengotomatiskan pembuatan container image.

Banyak vendor perangkat lunak membuat gambar produk mereka yang tersedia secara publik. Sebagai contoh, Microsoft menawarkan container image SQL Server 2017 yang berjalan di Docker. Pengadopsi kontainer harus menyadari keberadaan container image yang korup, palsu dan berbahaya yang tersedia untuk umum, terkadang disamarkan menyerupai image dari vendor resmi.

jasa manajemen aplikasi mobile

Container image disimpan dalam registri yang bersifat pribadi atau publik pada repositori, seperti Docker Hub. Pembuat image mendorongnya ke registri, dan pengguna menarik image ketika mereka ingin menjalankannya sebagai container.

Fitur seperti Docker Content Trust bergantung pada tanda tangan digital untuk membantu memverifikasi bahwa file image yang diunduh dari repositori publik adalah asli dan tidak diubah. Namun, verifikasi keaslian tambahan ini tidak mencegah pembuatan atau distribusi malware.

Beberapa image sengaja dibuat minimal, sementara yang lain memiliki ukuran file yang besar. Umumnya, mereka berada dalam kisaran puluhan megabyte.

Manfaat dan atribut container image

Format container image dirancang untuk dapat di download dengan cepat dan di mulai secara instan. Sebuah kontainer yang berjalan umumnya mengkonsumsi lebih sedikit komputasi dan memori daripada mesin virtual yang sebanding.

Image diidentifikasi melalui 12 karakter pertama dari identifier sejati dan memiliki ukuran virtual yang diukur dalam hal lapisan dasar yang berbeda. Image dapat ditandai atau dibiarkan tanpa tanda dan hanya dapat dicari melalui pengidentifikasi yang benar.

Agar dapat dioperasikan secara luas, container image bergantung pada standar terbuka dan beroperasi di berbagai infrastruktur termasuk mesin virtual dan fisik dan instance yang dihosting cloud. Dalam penyebaran kontainer, aplikasi terisolasi satu sama lain dan diabstraksikan dari infrastruktur yang mendasarinya.

Kelemahan container image

Perusahaan organisasi TI harus memantau image palsu, dan melatih pengguna tentang praktik terbaik ketika mereka menarik dari repositori publik. Untuk menghindari masalah ini, organisasi dapat membuat daftar image terbatas yang tersedia.

Selain keaslian, container image sprawl adalah risiko. Organisasi dapat berakhir dengan berbagai container image yang menyelesaikan hal yang sama, atau image yang tidak digunakan tetapi tidak pernah dihapus. Selain itu, kontainer yang berhenti tidak dihapus secara otomatis, dan terus mengkonsumsi sumber daya penyimpanan. Perintah seperti docker rmi dan docker rm digunakan untuk menghapus image dan container yang tidak digunakan.