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
- 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 pada repositori:
-
Melihat image, file dalam image, dan tag:
Artifact Registry Reader (
roles/artifactregistry.reader
) -
Beri tag pada image atau edit tag menggunakan Artifact Registry:
Artifact Registry Writer (
roles/artifactregistry.writer
) -
Menghapus image atau menghapus tag:
Artifact Registry Repository Administrator (
roles/artifactregistry.repoAdmin
)
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:
Buka halaman Repositories di Konsol Google Cloud.
Klik repositori dengan image container.
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
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 dengansha256:
.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
sha256:88b205d7995332e10e836514fbfd59ecaf8976fc15060cd66e85cdcebe7fb356
gcloud artifacts files list \
--project=my-project \
--location=us-central1 \
--repository=my-repo \
--package=my-app \
--version=sha256:88b205d7995332e10e836514fbfd59ecaf8976fc15060cd66e85cdcebe7fb356
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:
Buka halaman Repositories di Konsol Google Cloud.
Klik image untuk melihat versi image.
Pilih versi image yang akan diberi tag.
Di baris versi yang dipilih, klik More actions (), lalu klik Edit tag.
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
Buka halaman Repositories di Konsol Google Cloud.
Klik image untuk melihat versi image.
Pilih versi image yang ingin dihapus tagnya.
Di baris versi yang dipilih, klik More actions (), lalu klik Edit tag.
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
Buka halaman Repositories di Konsol Google Cloud.
Klik nama image untuk melihat versi image tersebut.
Pilih versi yang ingin Anda hapus.
Klik HAPUS.
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.