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
- Jika repositori target tidak ada, buat repositori baru.
- Pastikan Anda memiliki izin yang diperlukan untuk repositori.
- (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:
-
Melihat image, file dalam image, dan tag:
Pembaca Artifact Registry (
roles/artifactregistry.reader) -
Memberi tag pada image atau mengedit tag menggunakan Artifact Registry:
Penulis Artifact Registry (
roles/artifactregistry.writer) -
Menghapus image atau menghapus tag:
Administrator Repositori Artifact Registry (
roles/artifactregistry.repoAdmin)
Untuk mengetahui informasi selengkapnya tentang pemberian 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 image
Mode repositori: standar, jarak jauh
Anda dapat mencantumkan 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:
Buka halaman Repositories di Google Cloud konsol.
Klik repositori yang berisi image container.
Klik image 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 mencantumkan 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 dari repositori.
- PROJECT adalah Google Cloud project ID Anda. Jika project ID Anda berisi titik dua (
:), lihat Project dengan cakupan domain. - REPOSITORY adalah nama repositori tempat image disimpan.
- IMAGE adalah nama image di repositori.
--include-tagsmenampilkan semua versi image, termasuk ringkasan dan tag. Jika flag ini dihilangkan, daftar yang ditampilkan hanya akan menyertakan image container tingkat atas.
Misalnya, pertimbangkan image 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 image lengkapnya 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 di repositori, file di semua versi image container tertentu, atau file di 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 di project, repositori, dan lokasi saat nilai default dikonfigurasi:
gcloud artifacts files list
Untuk mencantumkan file di project, repositori, dan lokasi tertentu, 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
gcloud artifacts files list \
--project=PROJECT \
--repository=REPOSITORY \
--location=LOCATION \
--package=PACKAGE \
--tag=TAG
Ganti nilai berikut:
LOCATION: lokasi regional atau multi-regional dari repositori.PROJECT: project ID Anda Google Cloud . Jika project ID Anda berisi titik dua (:), lihat Project dengan cakupan domain.REPOSITORY: nama repositori tempat image disimpan.PACKAGE: nama image.VERSION: ringkasan image, string yang dimulai dengansha256:.TAG: tag yang terkait dengan image container.
Contoh
Pertimbangkan informasi image 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
sha256:88b205d7995332e10e836514fbfd59ecaf8976fc15060cd66e85cdcebe7fb356
gcloud artifacts files list \
--project=my-project \
--location=us-west1 \
--repository=my-repo \
--package=my-app \
--version=sha256:88b205d7995332e10e836514fbfd59ecaf8976fc15060cd66e85cdcebe7fb356
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 image
Anda dapat memberi tag pada image yang ada di repositori Artifact Registry atau Anda dapat memberi tag sebelum mengirimnya ke repositori.
Memberi tag pada image di repositori
Mode repositori: standar
Anda dapat menambahkan tag ke image di repositori Artifact Registry menggunakan konsol Google Cloud console atau command line. Di repositori, tag bersifat unik untuk versi image. Jadi, jika Anda memiliki beberapa versi image, setiap tag hanya berlaku untuk salah satu versi. Jika Anda memberi tag pada image dengan tag yang sudah digunakan, Anda akan memindahkan tag dari versi asli ke versi yang baru diberi tag.
Konsol
Untuk memberi tag pada image di repositori:
Buka halaman Repositories di Google Cloud konsol.
Klik image untuk melihat versi image.
Pilih versi image yang akan diberi tag.
Di baris versi yang dipilih, klik More actions (
),
lalu klik Edit tags.Ketik tag baru ke dalam kolom, lalu klik SAVE.
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
Di mana
IMAGE-VERSIONadalah nama lengkap dari versi image yang akan diberi tag, menggunakan ringkasan image atau tag yang ada di versi image.TAGadalah nama lengkap tag yang ingin Anda tambahkan.
Misalnya, pertimbangkan image 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 dengan cakupan domain, lihat Nama repositori dan image.
Memberi tag pada image lokal
Untuk mengirim image lokal ke Artifact Registry, Anda harus memberi tag pada image dengan nama repositori terlebih dahulu, lalu mengirim image. Untuk mengetahui petunjuknya, lihat Mengirim dan mengambil.
Menghapus tag dari image
Mode repositori: standar
Anda dapat menghapus tag dari image di Artifact Registry menggunakan konsol Google Cloud console atau command line.
Konsol
Buka halaman Repositories di Google Cloud konsol.
Klik image untuk melihat versi image.
Pilih versi image yang akan dihapus tag-nya.
Di baris versi yang dipilih, klik More actions (
),
lalu klik Edit tags.Hapus tag, lalu klik SAVE.
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:
-
LOCATIONadalah lokasi regional atau multi-regional dari repositori. PROJECTadalah Google Cloud project ID Anda. Jika project ID Anda berisi titik dua (`:`), lihat Project dengan cakupan domain.REPOSITORYadalah nama repositori tempat image disimpan.IMAGEadalah nama image di repositori.TAGadalah tag untuk versi yang ingin Anda hapus.
Menghapus image
Mode repositori: standar, jarak jauh
Anda dapat menghapus seluruh image container atau menghapus versi image tertentu yang terkait dengan tag atau ringkasan. Menghapus image yang tidak digunakan dapat membantu Anda mengurangi biaya penyimpanan.
- Setelah menghapus image, Anda tidak dapat mengurungkan tindakan tersebut.
- Menghapus image tidak langsung menghapus layer yang direferensikan. Layer yang tidak direferensikan akan dihapus setiap hari.
- Untuk repositori jarak jauh, salinan image yang di-cache akan dihapus. Image tetap tersedia dari sumber upstream. Jika repositori jarak jauh menerima permintaan baru untuk image yang sama, repositori akan mendownload dan meng-cache-nya lagi.
Untuk menghapus image dari Google Cloud konsol atau gcloud CLI:
Konsol
Buka halaman Repositories di Google Cloud konsol.
Klik nama image untuk melihat versi image tersebut.
Pilih versi yang ingin Anda hapus.
Klik DELETE.
Di 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]
Di mana
- LOCATION adalah lokasi regional atau multi-regional dari repositori.
- PROJECT adalah Google Cloud project ID Anda.
Jika project ID Anda berisi titik dua (
:), lihat Project dengan cakupan domain. - REPOSITORY adalah nama repositori tempat image disimpan.
- IMAGE adalah nama image di repositori.
- TAG adalah tag untuk versi yang ingin Anda hapus. Jika beberapa tag dikaitkan dengan versi image yang sama, Anda harus menyertakan
--delete-tagsuntuk menghapus versi image 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-tagsuntuk menghapus versi image tanpa menghapus tag terlebih dahulu. --delete-tagsmenghapus semua tag yang diterapkan ke versi foto. Flag ini memungkinkan Anda menghapus versi image secara paksa saat:- Anda menentukan tag, tetapi ada tag lain yang terkait dengan versi image.
- Anda menentukan ringkasan image yang memiliki setidaknya satu tag.
Langkah berikutnya
- Mendownload file individual yang disimpan dalam image tanpa menggunakan perintah Docker. Hal ini dapat berguna untuk memeriksa file manifes dengan cepat.