Apa itu gambar kontainer?

9 Agustus 2024

Penyusun

Phill Powell

Staff Writer

Ian Smalley

Senior Editorial Strategist

Apa itu gambar kontainer?

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.

Pemandangan udara dari jalan raya

Dapatkan ketenangan saat menggunakan cloud 


Dapatkan Buletin Think mingguan untuk mendapatkan panduan pakar dalam mengoptimalkan pengaturan multicloud di era AI.

Bagaimana gambar kontainer dibuat?

Gambar kontainer adalah akumulasi lapisan rakitan yang mencakup yang berikut:

  • Gambar dasar
  • Perpustakaan
  • Binari
  • Dependensi
  • File konfigurasi

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:

  • Pustaka yang diperlukan, yang merupakan kumpulan standar algoritme dan templat kelas yang dapat digunakan oleh pemrogram untuk membuat struktur data umum (misalnya, daftar, tumpukan, dan antrean)
  • Biner yang diperlukan, yang merupakan file yang dapat dieksekusi yang diperlukan untuk implementasi berbagai program dan perintah. Folder biner dirancang sehingga pengguna dapat memiliki akses cepat ke eksekusi yang diperlukan.
  • Berbagai dependensi, yang mengatur pembuatan dan Operasi kontainer.
  • File konfigurasi (konfigurasi) yang diperlukan untuk menjalankan kontainer yang dimaksud.

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.

AI Academy

Mencapai kesiapan AI dengan hybrid cloud

Dipandu oleh pemimpin terkemuka IBM, kurikulumnya dirancang untuk membantu pemimpin bisnis dalam mendapatkan pengetahuan yang diperlukan untuk memprioritaskan investasi AI yang dapat mendorong pertumbuhan.

Bagaimana cara kerja gambar kontainer?

Gambar kontainer disimpan dalam container registry, di mana gambar dapat diunggah ke container registry itu (“pushing”) atau diunduh ke sistem yang berbeda (“pulling”).

Object storage

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 dependensi

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.

Autentikasi

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.

Waktu proses kontainer

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.

Docker dan Kubernetes

Ada dua penyedia orkestrasi kontainer yang merupakan pusat penggunaan kontainer dan gambar kontainer:

Docker

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

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.

Manfaat gambar kontainer

Citra kontainer adalah komponen utama penggunaan container registry.

Penerapan cepat

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.

Kesiapan konstan

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.

Penggunaan yang aman

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.

Contoh penggunaan gambar kontainer

Aktivitas berikut memanfaatkan gambar kontainer secara ekstensif:

Aplikasi cloud native

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.

Layanan mikro

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

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.

Penyedia gambar kontainer terkemuka

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:

  • Amazon: Amazon Web Services (AWS) mengoperasikan Amazon Elastic Container Registry (ECR), menggabungkan penggunaan Amazon Inspector, yang mengelola pemindaian kerentanan gambar kontainer. ECR juga mendukung replikasi lintas akun dan lintas wilayah, memungkinkan akses yang lebih mudah ke gambar.
  • Apache: Apache adalah perangkat lunak server web sumber terbuka yang tersedia secara gratis dan ditawarkan oleh Apache Software Foundation, yang memperkirakan bahwa perangkat lunak Apache berjalan pada sekitar 30% dari semua server web.
  • GitHub: Platform GitHub (sekarang dimiliki oleh Microsoft) telah mendapatkan dukungan luas dari para pengembang, yang menghargai cara perangkat lunak eksklusif ini memungkinkan berbagi kode, manajemen kode, dan upaya kolaborasi.
  • IBM: IBM Cloud Container Registry memungkinkan pengguna dengan mudah memulai registrinya sendiri dan mulai mendorong gambar pribadi ke registri, untuk digunakan dengan IBM Cloud Kubernetes Service. Pengguna mendapat manfaat dari privasi memiliki registri mereka sendiri yang dikelola sepenuhnya. Layanan ini, yang dapat dicoba tanpa biaya, memiliki fitur harga bayar sesuai penggunaan, sehingga pengguna hanya membayar apa yang mereka konsumsi.
  • Microsoft: Platform Azure Microsoft menggunakan Azure Container Registry (ACR) untuk menyimpan gambar Docker dan gambar Open Container Initiative (OCI), serta mendukung artefak OCI. Fitur registri terhubung ACR (bagian dari tingkat layanan premium) membuat replika lokal atau jarak jauh yang menyinkronkan gambar kontainer dan artefak OCI dengan ACR berbasis cloud, yang mendukung gambar Windows dan Linux. Metode berinteraksi dengan program komputer melibatkan penulisan dan input baris teks, juga dikenal sebagai baris perintah. Sistem operasi yang menggunakan metode interaksi ini menggabungkan antarmuka baris perintah (CLI). Sebagian besar pengguna komputer saat ini mengandalkan antarmuka pengguna grafis (GUI), meskipun antarmuka baris perintah (CLI) masih menjadi pilihan bagi mereka yang menulis skrip untuk otomatisasi. Azure memberi fleksibilitas bagi pengguna untuk menggunakan Docker CLI untuk menjalankan operasi gambar kontainer kunci.
  • Python: Python adalah bahasa pemrograman tingkat tinggi yang ditafsirkan dan berorientasi objek, dikembangkan oleh Python Software Foundation. Struktur data bawaannya membuat Python sangat cocok untuk beban kerja yang membutuhkan pengembangan aplikasi cepat. Keunggulan utama Python bagi pemrogram adalah kemudahan penggunaannya, terutama karena tidak memerlukan proses kompilasi. Hal ini memungkinkan programmer melakukan siklus debugging lebih cepat, sehingga menghemat waktu.
  • Red Hat: Red Hat telah memperjuangkan pemrograman berbasis Linux sejak perusahaan tersebut didirikan pada tahun 1993. Container registry yang ditawarkan Red Hat, OpenShift Container Platform (OCP), memungkinkan pengguna untuk secara otomatis mendapatkan akses ke repositori gambar sesuai permintaan dan juga memberi pengguna lokasi standar untuk mendorong gambar yang dihasilkan dari build aplikasi.
Solusi terkait
IBM Red Hat OpenShift

Red Hat OpenShift on IBM Cloud adalah OpenShift Container Platform (OCP) yang dikelola sepenuhnya.

Jelajahi Red Hat OpenShift
Solusi Kontainer

Solusi kontainer menjalankan dan meningkatkan beban kerja dalam kontainer dengan keamanan, inovasi sumber terbuka, dan penerapan yang cepat.

Jelajahi kontainer
Layanan Konsultasi Cloud 

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.

Layanan cloud
Ambil langkah selanjutnya

Modernisasi infrastruktur Anda dengan solusi kontainer IBM. Jalankan, skalakan, dan kelola beban kerja kontainer di seluruh lingkungan dengan fleksibilitas, keamanan, dan efisiensi dengan platform kontainer IBM yang komprehensif.

Jelajahi solusi kontainer Buat akun IBM Cloud gratis Anda