Mengelola gambar

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

Untuk informasi tentang mendorong dan menarik gambar, lihat Mendorong dan menarik gambar.

Sebelum memulai

  1. Jika repositori target tidak ada, buat repositori baru.
  2. Pastikan 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 pada repositori:

Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses.

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

Gambar listingan

Mode repositori: standar, jarak jauh

Anda dapat menampilkan daftar image menggunakan Google Cloud Console 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 image 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 dalam project, repositori, dan lokasi default saat nilai default dikonfigurasi:

gcloud artifacts docker images list

Untuk menampilkan daftar image dalam repositori di lokasi tertentu, jalankan perintah:

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

Untuk menampilkan semua ringkasan dan tag untuk gambar 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 dari repositori.
  • PROJECT adalah project ID Google Cloud 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 container tingkat atas.

Misalnya, perhatikan gambar dengan karakteristik berikut:

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

Nama lengkap repositori adalah:

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

Nama gambar lengkap adalah:

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

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

Membuat listingan file

Mode repositori: standar, jarak jauh

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

Untuk semua perintah berikut, Anda dapat menetapkan jumlah file maksimum 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 menampilkan daftar file dalam project, repositori, dan lokasi yang ditentukan, jalankan perintah:

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

Untuk menampilkan daftar file bagi 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 menampilkan daftar 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: project ID Google Cloud 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 penampung.

Contoh

Perhatikan informasi gambar berikut:

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

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

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

gcloud artifacts files list \
    --project=my-project \
    --location=us-central1 \
    --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-central1 \
    --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 memberi tag pada image sebelum mengirimkannya ke repositori.

Memberi tag pada image di repositori

Mode repositori: standar

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

Konsol

Untuk memberi tag pada image di repositori:

  1. Buka halaman Repositories di Konsol Google Cloud.

    Buka halaman Repositori

  2. Klik image untuk melihat versi image.

  3. Pilih versi image yang akan diberi tag.

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

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

gcloud

Untuk memberi tag pada gambar dalam repositori, tentukan versi gambar 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 gambar yang akan diberi tag, menggunakan ringkasan gambar atau tag yang ada pada versi gambar.
  • TAG adalah nama lengkap tag yang ingin Anda tambahkan.

Misalnya, perhatikan gambar dengan karakteristik berikut:

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

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

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

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

Memberi tag pada gambar lokal

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

Membatalkan pemberian tag pada gambar

Mode repositori: standar

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

Konsol

  1. Buka halaman Repositories di Konsol Google Cloud.

    Buka halaman Repositori

  2. Klik image untuk melihat versi image.

  3. Pilih versi image yang ingin dihapus tagnya.

  4. Di baris versi yang dipilih, klik More actions (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

Dari mana

  • LOCATION adalah lokasi regional atau multi-regional dari repositori.
  • PROJECT adalah project ID Google Cloud 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.
  • Untuk repositori jarak jauh, salinan gambar yang di-cache akan dihapus. Gambar tetap tersedia dari sumber upstream. Jika repositori jarak jauh menerima permintaan baru untuk image yang sama, repositori akan mendownload dan meng-cache-nya lagi.

Alat lainnya 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 Repositories di Konsol Google Cloud.

    Buka halaman Repositori

  2. Klik nama image untuk melihat versi image tersebut.

  3. Pilih versi yang ingin Anda hapus.

  4. Klik HAPUS.

  5. Di kotak dialog konfirmasi, klik HAPUS.

gcloud

Untuk menghapus gambar dan semua tagnya, 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 dari repositori.
  • PROJECT adalah project ID Google Cloud 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 image tanpa menghapus tag terlebih dahulu.
  • IMAGE-DIGEST adalah nilai hash sha256 untuk versi yang ingin Anda hapus. Jika tag terkait dengan ringkasan gambar, Anda harus menyertakan --delete-tags untuk menghapus versi gambar tanpa menghapus tag terlebih dahulu.
  • --delete-tags menghapus semua tag yang diterapkan ke versi gambar. Flag ini memungkinkan Anda memaksa penghapusan versi image jika:
    • Anda menentukan tag, tetapi ada tag lain yang terkait dengan versi image.
    • Anda menentukan ringkasan gambar yang memiliki setidaknya satu tag.

Langkah selanjutnya

  • Download masing-masing file yang tersimpan di dalam image tanpa menggunakan perintah Docker. Hal ini dapat berguna untuk memeriksa file manifes dengan cepat.