Mengelola image

Mengelola image mencakup mencantumkan image di repositori, menambahkan tag, menghapus tag, menyalin image ke repositori baru, dan menghapus image.

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

Sebelum memulai

Pastikan Anda:

  1. Mengaktifkan Container Registry di project Anda.

  2. Menginstal Docker.

  3. Docker yang dikonfigurasi untuk melakukan autentikasi ke registry.

  4. Memiliki izin untuk mengakses registry.

Mencantumkan gambar berdasarkan lokasi penyimpanannya

Anda dapat mencantumkan image di lokasi host tertentu menggunakan konsol Google Cloud atau command line.

Konsol

Untuk mencantumkan 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 Semua lokasi dan nama host yang saat ini digunakan project, yang dapat mencakup gcr.io, us.gcr.io, eu.gcr.io, atau asia.gcr.io.

gcloud

Untuk mencantumkan gambar 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 di 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 Konsol Google Cloud Anda. Jika project ID Anda berisi titik dua (:), lihat Project cakupan domain.

Jika Anda memiliki registry bertingkat, cantumkan image bertingkat dengan menentukan tingkat repositori tempat image tersebut disimpan:

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

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

Lihat juga dokumentasi gcloud container images list.

Mencantumkan versi image

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 image:

  1. Buka halaman Container Registry.

    Buka halaman Container Registry

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

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

gcloud

Untuk mencantumkan ringkasan dan tag yang terpotong dari image, jalankan perintah berikut:

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

dengan:

  • [HOSTNAME] tercantum di bagian Location di 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 Konsol Google Cloud Anda. Jika project ID Anda memiliki titik dua di dalamnya (:), 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 konsol Google Cloud atau command line.

Ringkasan adalah ID unik yang dibuat secara otomatis untuk versi image. Tag berfungsi 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 Anda tidak memberi tag pada image, klien Docker akan menambahkan tag default latest. Artinya, latest tidak menunjukkan versi terbaru gambar. Sebaliknya, ini berarti versi image yang Anda beri tag khusus sebagai latest, atau versi image terbaru yang tidak diberi tag. Karena arti latest tidak jelas, sebaiknya hindari mengandalkan 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 gambar untuk melihat versi gambar tersebut.

  3. Di bagian Tag, klik ikon edit.

  4. Ketik tag baru ke dalam 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 di 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 Konsol Google Cloud Anda. Jika project ID Anda memiliki titik dua di dalamnya (:), 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 dihosting di Container Registry

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

Menghapus tag dari gambar

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

Konsol

  1. Buka halaman Container Registry.

    Buka halaman Container Registry

  2. Klik nama gambar untuk melihat versi gambar 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 di 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 Konsol Google Cloud Anda. Jika project ID Anda memiliki titik dua di dalamnya (:), 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 berdasarkan 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 ringkasannya:

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

dengan, untuk sumber dan tujuan:

  • [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 konsol Google Cloud. Jika project ID Anda memiliki titik dua di dalamnya (:), 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 ingin menyalin image my-image ke repositori project lain dan ke host Eropa, tetapi ingin mempertahankan nama dan tag image yang sama, Anda akan menggunakan:

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 konsol Google Cloud Anda 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 di dalamnya (:), 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 konsol Google Cloud atau command line. Setelah menghapus gambar, Anda tidak dapat mengurungkan tindakan ini.

Alat lain tersedia untuk membantu Anda mengelola gambar yang tidak digunakan. Misalnya, alat gcr-cleaner menemukan dan menghapus image 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 gambar untuk melihat versi gambar tersebut.

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

  4. Klik DELETE di bagian atas halaman.

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

gcloud

Jalankan salah satu perintah berikut:

  • Gambar yang diidentifikasi oleh ringkasannya:

    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 di 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 Konsol Google Cloud Anda. Jika project ID Anda memiliki titik dua di dalamnya (:), 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 mengetahui informasi selengkapnya tentang perintah ini.

Langkah selanjutnya