Mengelola gambar

Halaman ini menjelaskan cara mengelola image container di repositori Docker. Mengelola image mencakup mencantumkan image di repositori, menambahkan tag, menghapus tag, menyalin image ke repositori baru, dan menghapus image.

Untuk mengetahui informasi tentang cara mengirim dan mengambil image, lihat Mengirim dan mengambil image.

Sebelum memulai

  1. Jika repositori target tidak ada, buat repositori baru.
  2. Verifikasi bahwa Anda memiliki izin yang diperlukan untuk repositori.
  3. (Opsional) Konfigurasi default untuk perintah gcloud.

Peran yang diperlukan

Untuk mendapatkan izin yang Anda perlukan untuk mengelola image, minta administrator untuk memberi Anda peran IAM berikut di repositori:

Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.

Mencantumkan gambar

Mode repositori: standar, jarak jauh

Anda dapat mencantumkan image menggunakan konsol Google Cloud atau gcloud CLI.

Daftar repositori mencakup repositori Artifact Registry dan Container Registry. Untuk menggunakan image di repositori Container Registry, lihat dokumentasi Container Registry untuk mengelola image.

Konsol

Untuk melihat gambar di repositori:

  1. Buka halaman Repositories di konsol Google Cloud.

    Buka halaman Repositori

  2. Klik repositori dengan image container.

  3. Klik gambar untuk melihat versinya.

gcloud

Untuk mencantumkan semua image di project, repositori, dan lokasi default saat nilai default dikonfigurasi:

gcloud artifacts docker images list

Untuk mencantumkan image di repositori di lokasi tertentu, jalankan perintah:

gcloud artifacts docker images list LOCATION-docker.pkg.dev/PROJECT/REPOSITORY

Untuk menampilkan semua ringkasan dan tag untuk image tertentu, jalankan perintah:

gcloud artifacts docker images list LOCATION-docker.pkg.dev/PROJECT/REPOSITORY/IMAGE \
--include-tags

Ganti nilai berikut:

  • LOCATION adalah lokasi regional atau multi-regional repositori.
  • PROJECT adalah Google Cloud project ID Anda. Jika project ID Anda berisi titik dua (:), lihat Project cakupan domain.
  • REPOSITORY adalah nama repositori tempat gambar disimpan.
  • IMAGE adalah nama image di repositori.
  • --include-tags menampilkan semua versi gambar, termasuk ringkasan dan tag. Jika tanda ini dihilangkan, daftar yang ditampilkan hanya menyertakan image penampung tingkat teratas.

Misalnya, pertimbangkan gambar dengan karakteristik berikut:

  • Lokasi repositori: us-west1
  • Nama repositori: my-repo
  • Project ID: my-project
  • Nama image: my-image

Nama repositori lengkapnya adalah:

us-west1-docker.pkg.dev/my-project/my-repo

Nama gambar lengkap adalah:

us-west1-docker.pkg.dev/my-project/my-repo/my-image

Untuk mengetahui detail tentang format nama image, lihat Nama repositori dan image.

Mencantumkan file

Mode repositori: standar, jarak jauh

Anda dapat mencantumkan file dalam repositori, file dalam semua versi image penampung tertentu, atau file dalam versi image tertentu.

Untuk semua perintah berikut, Anda dapat menetapkan jumlah maksimum file yang akan ditampilkan dengan menambahkan flag --limit ke perintah.

Untuk mencantumkan semua file dalam project, repositori, dan lokasi default saat nilai default dikonfigurasi:

gcloud artifacts files list

Untuk mencantumkan file dalam project, repositori, dan lokasi yang ditentukan, jalankan perintah:

gcloud artifacts files list \
    --project=PROJECT \
    --repository=REPOSITORY \
    --location=LOCATION

Untuk mencantumkan file untuk semua versi image container tertentu:

gcloud artifacts files list \
    --project=PROJECT \
    --repository=REPOSITORY \
    --location=LOCATION \
    --package=PACKAGE

Untuk mencantumkan file untuk versi image container tertentu:

gcloud artifacts files list \
    --project=PROJECT \
    --repository=REPOSITORY \
    --location=LOCATION \
    --package=PACKAGE \
    --version=VERSION
Untuk mencantumkan file untuk tag tertentu:

gcloud artifacts files list \
    --project=PROJECT \
    --repository=REPOSITORY \
    --location=LOCATION \
    --package=PACKAGE \
    --tag=TAG

Ganti nilai berikut:

  • LOCATION: lokasi regional atau multi-regional repositori.
  • PROJECT: Google Cloud project ID Anda. Jika project ID Anda berisi titik dua (:), lihat Project cakupan domain.
  • REPOSITORY: nama repositori tempat image disimpan.
  • PACKAGE: nama image.
  • VERSION: ringkasan gambar, string yang dimulai dengan sha256:.
  • TAG: tag yang terkait dengan image container.

Contoh

Pertimbangkan informasi gambar berikut:

  • Project: my-project
  • Repositori: my-repo
  • Lokasi repositori: us-west1
  • Image: my-app

Perintah berikut mencantumkan semua file di repositori my-repo di lokasi us-west1 dalam project default:

gcloud artifacts files list \
    --location=us-west1 \
    --repository=my-repo
Perintah berikut mencantumkan file dalam versi image dengan ringkasan sha256:88b205d7995332e10e836514fbfd59ecaf8976fc15060cd66e85cdcebe7fb356

gcloud artifacts files list \
    --project=my-project \
    --location=us-west1 \
    --repository=my-repo \
    --package=my-app \
    --version=sha256:88b205d7995332e10e836514fbfd59ecaf8976fc15060cd66e85cdcebe7fb356
Perintah berikut mencantumkan file dalam versi image dengan tag 1.0-dev

gcloud artifacts files list \
    --project=my-project \
    --location=us-west1 \
    --repository=my-repo \
    --package=my-app \
    --tag=1.0-dev

Memberi tag pada gambar

Anda dapat memberi tag pada image yang ada di repositori Artifact Registry atau dapat memberi tag sebelum mendorongnya ke repositori.

Memberi tag pada gambar di repositori

Mode repositori: standar

Anda dapat menambahkan tag ke image di repositori Artifact Registry menggunakan Konsol Google Cloud atau command line. Di repositori, tag bersifat unik untuk versi image. Jadi, jika Anda memiliki beberapa versi gambar, setiap tag hanya berlaku untuk salah satu versi. Jika Anda memberi tag pada gambar dengan tag yang sudah digunakan, Anda akan memindahkan tag dari versi asli ke versi yang baru diberi tag.

Konsol

Untuk memberi tag pada gambar di repositori:

  1. Buka halaman Repositories di konsol Google Cloud.

    Buka halaman Repositori

  2. Klik gambar untuk melihat versi gambar.

  3. Pilih versi gambar yang akan diberi tag.

  4. Di baris versi yang dipilih, klik Tindakan lainnya (Tindakan lainnya), lalu klik Edit tag.

  5. Ketik tag baru ke dalam kolom, lalu klik SIMPAN.

gcloud

Untuk memberi tag pada image di repositori, tentukan versi image menggunakan ringkasan atau tag image, lalu tentukan tag yang akan ditambahkan. Jalankan salah satu perintah berikut:

gcloud artifacts docker tags add IMAGE-VERSION TAG

Dari mana

  • IMAGE-VERSION adalah nama lengkap versi image yang akan diberi tag, menggunakan ringkasan image atau tag yang ada pada versi image.
  • TAG adalah nama lengkap tag yang ingin Anda tambahkan.

Misalnya, pertimbangkan gambar dengan karakteristik berikut:

  • Lokasi repositori: us-west1
  • Nama repositori: my-repo
  • Project ID: my-project
  • Nama image: my-image
  • Tag yang ada: iteration6-final
  • Tag yang akan ditambahkan: release-candidate

Untuk menambahkan tag release-candidate ke versi image dengan tag iteration6-final, jalankan perintah berikut:

gcloud artifacts docker tags add \
us-west1-docker.pkg.dev/my-project/my-repo/my-image:iteration6-final \
us-west1-docker.pkg.dev/my-project/my-repo/my-image:release-candidate

Untuk mengetahui detail tentang format nama image, termasuk project cakupan domain, lihat Nama repositori dan image.

Memberi tag pada gambar lokal

Untuk mengirim image lokal ke Artifact Registry, Anda harus memberi tag pada image terlebih dahulu dengan nama repositori, lalu mengirim image. Untuk mengetahui petunjuknya, lihat Mendorong dan menarik.

Menghapus tag dari gambar

Mode repositori: standar

Anda dapat menghapus tag dari image di Artifact Registry menggunakan konsol Google Cloud atau command line.

Konsol

  1. Buka halaman Repositories di konsol Google Cloud.

    Buka halaman Repositori

  2. Klik gambar untuk melihat versi gambar.

  3. Pilih versi gambar yang akan dibatalkan tagnya.

  4. Di baris versi yang dipilih, klik Tindakan lainnya (Tindakan lainnya), lalu klik Edit tag.

  5. Hapus tag, lalu klik SIMPAN.

gcloud

Untuk menghapus tag dan menghapusnya dari image, jalankan perintah berikut:

 gcloud artifacts docker tags delete LOCATION-docker.pkg.dev/PROJECT/REPOSITORY/IMAGE:TAG

Ganti kode berikut:

  • LOCATION adalah lokasi repositori regional atau multi-regional.
  • PROJECT adalah Google Cloud project ID Anda. Jika project ID Anda berisi titik dua (`:`), lihat Project cakupan domain.
  • REPOSITORY adalah nama repositori tempat gambar disimpan.
  • IMAGE adalah nama image di repositori.
  • TAG adalah tag untuk versi yang ingin Anda hapus.

Menghapus beberapa gambar

Mode repositori: standar, jarak jauh

Anda dapat menghapus seluruh image penampung atau menghapus versi image tertentu yang terkait dengan tag atau ringkasan.

  • Setelah menghapus gambar, Anda tidak dapat mengurungkan tindakan tersebut.
  • Menghapus gambar tidak akan langsung menghapus lapisan yang dirujuk. Lapisan yang tidak direferensikan akan dihapus setiap hari.
  • Untuk repositori jarak jauh, salinan gambar yang di-cache akan dihapus. Image tetap tersedia dari sumber upstream. Jika repositori jarak jauh menerima permintaan baru untuk gambar yang sama, repositori akan mendownload dan menyimpannya dalam cache lagi.

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 Repositories di konsol Google Cloud.

    Buka halaman Repositori

  2. Klik nama gambar untuk melihat versi gambar tersebut.

  3. Pilih versi yang ingin dihapus.

  4. Klik HAPUS.

  5. Pada dialog konfirmasi, klik DELETE.

gcloud

Untuk menghapus image dan semua tag-nya, jalankan perintah:

gcloud artifacts docker images delete LOCATION-docker.pkg.dev/PROJECT/REPOSITORY/IMAGE --delete-tags

Untuk menghapus versi image tertentu, gunakan salah satu perintah berikut.

gcloud artifacts docker images delete LOCATION-docker.pkg.dev/PROJECT/REPOSITORY/IMAGE:TAG [--delete-tags]

atau

gcloud artifacts docker images delete LOCATION-docker.pkg.dev/PROJECT/REPOSITORY/IMAGE@IMAGE-DIGEST [--delete-tags]

Dari mana

  • LOCATION adalah lokasi regional atau multi-regional repositori.
  • PROJECT adalah Google Cloud project ID Anda. Jika project ID Anda berisi titik dua (:), lihat Project cakupan domain.
  • REPOSITORY adalah nama repositori tempat gambar disimpan.
  • IMAGE adalah nama image di repositori.
  • TAG adalah tag untuk versi yang ingin Anda hapus. Jika beberapa tag dikaitkan dengan versi gambar yang sama, Anda harus menyertakan --delete-tags untuk menghapus versi gambar tanpa menghapus tag terlebih dahulu.
  • IMAGE-DIGEST adalah nilai hash sha256 untuk versi yang ingin Anda hapus. Jika tag dikaitkan dengan ringkasan image, Anda harus menyertakan --delete-tags untuk menghapus versi image tanpa menghapus tag terlebih dahulu.
  • --delete-tags menghapus semua tag yang diterapkan ke versi gambar. Flag ini memungkinkan Anda memaksa penghapusan versi image saat:
    • Anda menentukan tag, tetapi ada tag lain yang terkait dengan versi gambar.
    • Anda menentukan ringkasan gambar yang memiliki minimal satu tag.

Langkah selanjutnya

  • Mendownload setiap file yang disimpan dalam image tanpa menggunakan perintah Docker. Hal ini dapat berguna untuk memeriksa file manifes dengan cepat.