Mengelola image

Mengelola image termasuk membuat listingan image di repositori, menambahkan tag, menghapus tag, menyalin image ke repositori baru, dan menghapus image.

Untuk mengetahui informasi tentang cara mengirim image lokal ke Container Registry atau menarik image yang disimpan di Container Registry, lihat Mendorong dan mengambil image.

Sebelum memulai

Pastikan Anda:

  1. Mengaktifkan Container Registry di project Anda.

  2. Docker yang terinstal.

  3. Docker yang dikonfigurasi untuk melakukan autentikasi ke registry.

  4. Memiliki izin untuk mengakses registry.

Mencantumkan gambar berdasarkan lokasi penyimpanannya

Anda dapat menampilkan daftar image di lokasi host tertentu menggunakan Google Cloud Console atau command line.

Konsol

Untuk menampilkan daftar gambar di salah satu lokasi host Anda:

  1. Buka halaman Container Registry.

    Buka halaman Container Registry

  2. Gunakan pemilih di atas Nama untuk memilih lokasi host. Opsi mencakup All locations dan nama host yang saat ini digunakan project, yang dapat meliputi gcr.io, us.gcr.io, eu.gcr.io, atau asia.gcr.io.

gcloud

Untuk menampilkan daftar image yang ada di salah satu lokasi host Anda, gunakan perintah berikut:

gcloud container images list --repository=[HOSTNAME]/[PROJECT-ID]

dengan:

  • [HOSTNAME] tercantum di bagian Location pada konsol. Ini adalah salah satu dari empat opsi: gcr.io, us.gcr.io, eu.gcr.io, atau asia.gcr.io.
  • [PROJECT-ID] adalah project ID Google Cloud Console Anda. Jika project ID Anda berisi titik dua (:), lihat Project cakupan domain.

Jika Anda memiliki registry bertingkat, cantumkan gambar bertingkat dengan menentukan tingkat repositori tempatnya disimpan:

gcloud container images list --repository=[HOSTNAME]/[PROJECT-ID]/[IMAGE]

dengan [IMAGE] adalah repositori tempat lebih banyak gambar disusun.

Lihat juga dokumentasi gcloud container images list.

Mencantumkan versi gambar

Registry dapat berisi versi image yang berbeda. Versi ini memiliki nama image yang sama, dan diidentifikasi berdasarkan ringkasan dan tagnya.

Konsol

Untuk melihat ringkasan dan tag gambar:

  1. Buka halaman Container Registry.

    Buka halaman Container Registry

  2. Klik nama image untuk melihat versi image tersebut. Ringkasan yang terpotong tercantum di bagian Nama dan tag tercantum di bagian Tag.

  3. Untuk mendapatkan ringkasan lengkap, klik versi image untuk melihat metadatanya. Ringkasan ini disebut Ringkasan gambar.

gcloud

Untuk menampilkan ringkasan dan tag yang terpotong pada gambar, jalankan perintah berikut:

gcloud container images list-tags [HOSTNAME]/[PROJECT-ID]/[IMAGE]

dengan:

  • [HOSTNAME] tercantum di bagian Location pada konsol. Ini adalah salah satu dari empat opsi: gcr.io, us.gcr.io, eu.gcr.io, atau asia.gcr.io.
  • [PROJECT-ID] adalah project ID Google Cloud Console Anda. Jika project ID Anda memiliki titik dua (:), lihat Project cakupan domain.
  • [IMAGE] adalah nama image di Container Registry.

Untuk mencantumkan ringkasan lengkap versi image tertentu, jalankan perintah berikut:

gcloud container images list-tags --format='get(digest)' [HOSTNAME]/[PROJECT-ID]/[IMAGE]

Lihat dokumentasi gcloud container images list-tags.

Memberi tag pada gambar

Anda dapat menambahkan tag ke image menggunakan Google Cloud Console atau command line.

Ringkasan adalah ID unik yang dibuat secara otomatis untuk versi gambar. Tag bertindak sebagai label yang dapat Anda terapkan ke versi gambar tertentu.

Anda dapat menambahkan lebih dari satu tag ke gambar. Dalam repositori, setiap tag untuk gambar harus unik. Misalnya, jika Anda menambahkan tag release-candidate ke versi kesembilan gambar, menambahkan tag yang sama ke versi kesepuluh akan memindahkan tag dari versi kesembilan ke versi kesepuluh.

Jika image tidak diberi tag, klien Docker akan menambahkan tag default latest. Artinya, latest tidak menunjukkan versi gambar terbaru. Sebaliknya, ini berarti versi foto yang secara khusus Anda beri tag sebagai latest, atau versi gambar terbaru yang tidak diberi tag. Karena arti latest tidak jelas, sebaiknya hindari ketergantungan pada tag latest.

Konsol

Untuk memberi tag pada image yang dihosting oleh Container Registry:

  1. Buka halaman Container Registry.

    Buka halaman Container Registry

  2. Klik nama image untuk melihat versi image tersebut.

  3. Di bagian Tag, klik ikon edit.

  4. Ketik tag baru ke kolom, lalu klik SIMPAN.

gcloud

Untuk memberi tag pada image yang dihosting oleh Container Registry, gunakan perintah gcloud container images add-tag:

gcloud container images add-tag \
[HOSTNAME]/[PROJECT-ID]/[IMAGE]:[TAG] \
[HOSTNAME]/[PROJECT-ID]/[IMAGE]:[NEW_TAG]

atau

gcloud container images add-tag \
[HOSTNAME]/[PROJECT-ID]/[IMAGE]@[IMAGE_DIGEST] \
[HOSTNAME]/[PROJECT-ID]/[IMAGE]:[NEW_TAG]

dengan:

  • [HOSTNAME] tercantum di bagian Location pada konsol. Ini adalah salah satu dari empat opsi: gcr.io, us.gcr.io, eu.gcr.io, atau asia.gcr.io.
  • [PROJECT-ID] adalah project ID Google Cloud Console Anda. Jika project ID Anda memiliki titik dua (:), lihat Project cakupan domain.
  • [IMAGE] adalah nama image di Container Registry.
  • [TAG] adalah tag yang sudah diterapkan ke gambar.
  • [IMAGE_DIGEST] adalah nilai hash sha256 dari konten gambar.
  • [NEW_TAG] adalah tag baru yang Anda tambahkan ke gambar.

Lihat gcloud container images add-tag untuk mengetahui info selengkapnya tentang perintah ini.

Memberi tag pada image lokal untuk hosting di Container Registry

Untuk mengirim image lokal apa pun ke Container Registry, Anda harus memberinya tag terlebih dahulu dengan nama registry, lalu mengirim image tersebut. Untuk mengetahui petunjuknya, lihat Mengirim image ke registry.

Membatalkan pemberian tag pada gambar

Anda dapat menghapus tag dari image di Container Registry menggunakan Google Cloud Console atau command line.

Konsol

  1. Buka halaman Container Registry.

    Buka halaman Container Registry

  2. Klik nama image untuk melihat versi image tersebut.

  3. Di bagian Tag, klik ikon edit.

  4. Hapus tag, lalu klik SIMPAN.

gcloud

Untuk menghapus tag dari gambar, gunakan perintah berikut:

gcloud container images untag [HOSTNAME]/[PROJECT-ID]/[IMAGE]:[TAG]

dengan:

  • [HOSTNAME] tercantum di bagian Location pada konsol. Ini adalah salah satu dari empat opsi: gcr.io, us.gcr.io, eu.gcr.io, atau asia.gcr.io.
  • [PROJECT-ID] adalah project ID Google Cloud Console Anda. Jika project ID Anda memiliki titik dua (:), lihat Project cakupan domain.
  • [IMAGE] adalah nama image di Container Registry.
  • [TAG] adalah tag yang ingin Anda hapus.

    Lihat gcloud container images untag untuk mengetahui info selengkapnya tentang perintah ini.

Menyalin image ke registry baru

Anda dapat menyalin image dari satu repositori ke repositori lain menggunakan command line. Anda harus memiliki akses ke kedua repositori.

Untuk menyalin image dari satu repositori ke repositori lain, gunakan perintah gcloud container images add-tag, dan identifikasi image yang akan dipindahkan oleh tag-nya:

gcloud container images add-tag \
[SOURCE_HOSTNAME]/[SOURCE_PROJECT-ID]/[SOURCE_IMAGE]:[SOURCE_TAG] \
[DESTINATION_HOSTNAME]/[DESTINATION_PROJECT-ID]/[DESTINATION_IMAGE]:[DESTINATION_TAG]

atau intisarinya:

gcloud container images add-tag \
[SOURCE_HOSTNAME]/[SOURCE_PROJECT-ID]/[SOURCE_IMAGE]@[IMAGE_DIGEST] \
[DESTINATION_HOSTNAME]/[DESTINATION_PROJECT-ID]/[DESTINATION_IMAGE]:[DESTINATION_TAG]

dengan baik untuk sumber maupun tujuannya:

  • [HOSTNAME] adalah lokasi tempat gambar dihosting, dan merupakan salah satu dari empat opsi: gcr.io, us.gcr.io, eu.gcr.io, atau asia.gcr.io.
  • [PROJECT-ID] adalah project ID Google Cloud Console. Jika project ID Anda memiliki titik dua (:), lihat Project cakupan domain.
  • [IMAGE] adalah nama image di Container Registry.
  • [IMAGE_DIGEST] adalah nilai hash sha256 dari konten gambar.
  • [TAG] adalah tag yang mengidentifikasi gambar sumber yang akan dipindahkan, atau tag yang akan diterapkan ke gambar di repositori tujuan.

Misalnya, jika Anda ingin menyalin image my-image ke repositori project lain dan ke host Eropa, tetapi Anda ingin nama dan tag image tetap sama, gunakan:

gcloud container images add-tag \
gcr.io/[PROJECT-ID]/my-image:tag1 \
eu.gcr.io/[OTHER-PROJECT-ID]/my-image:tag1

dengan [PROJECT-ID] dan [OTHER-PROJECT-ID] adalah project ID Google Cloud Console dari project yang Anda salin, dan project yang Anda salin. Anda harus memiliki akses ke repositori di kedua project ini. Jika salah satu project ID memiliki titik dua (:), lihat Project cakupan domain.

Lihat gcloud container images add-tag untuk mengetahui info selengkapnya tentang perintah ini.

Menghapus beberapa gambar

Anda dapat menghapus image menggunakan Google Cloud Console atau command line. Setelah gambar dihapus, Anda tidak dapat mengurungkan tindakan ini.

Alat lain tersedia untuk membantu Anda mengelola gambar yang tidak digunakan. Misalnya, alat gcr-cleaner menemukan dan menghapus gambar lama berdasarkan kriteria yang berbeda. Menghapus gambar yang tidak digunakan dapat membantu Anda mengurangi biaya penyimpanan. Alat gcr-cleaner bukan produk resmi Google.

Untuk menghapus image dari konsol Google Cloud atau gcloud CLI:

Konsol

  1. Buka halaman Container Registry.

    Buka halaman Container Registry

  2. Klik nama image untuk melihat versi image tersebut.

  3. Di registry, centang kotak di samping versi image yang ingin dihapus.

  4. Klik HAPUS di bagian atas halaman.

  5. Di jendela pop-up Delete repository items, klik DELETE.

gcloud

Jalankan salah satu perintah berikut:

  • Gambar yang diidentifikasi oleh intisarinya:

    gcloud container images delete [HOSTNAME]/[PROJECT-ID]/[IMAGE]@[IMAGE_DIGEST]
    
  • Gambar yang diidentifikasi oleh tag-nya, dan memiliki beberapa tag:

    gcloud container images delete [HOSTNAME]/[PROJECT-ID]/[IMAGE]:[TAG] --force-delete-tags
    

dengan:

  • [HOSTNAME] tercantum di bagian Location pada konsol. Ini adalah salah satu dari empat opsi: gcr.io, us.gcr.io, eu.gcr.io, atau asia.gcr.io.
  • [PROJECT-ID] adalah project ID Google Cloud Console Anda. Jika project ID Anda memiliki titik dua (:), lihat Project cakupan domain.
  • [IMAGE] adalah nama image di Container Registry.
  • [IMAGE_DIGEST] adalah nilai hash sha256 dari konten gambar.
  • [TAG] adalah tag gambar yang ingin Anda hapus.

Lihat gcloud container images delete untuk informasi selengkapnya tentang perintah ini.

Langkah selanjutnya