Mit Artifact Registry können Sie Container-Images in Ihren Docker-Repositories organisieren und verwalten. Sie können den Repository-Inhalt prüfen, Versions-Tags aktualisieren oder entfernen und nicht verwendete Versionen löschen, um die Speicherkosten zu senken.
Informationen zum Hoch- und Herunterladen von Images finden Sie unter Images hoch- und herunterladen.
Hinweis
- Wenn das Ziel-Repository nicht vorhanden ist, erstellen Sie ein neues Repository.
- Prüfen Sie, ob Sie die erforderlichen Berechtigungen für das Repository haben.
- (Optional) Konfigurieren Sie die Standardeinstellungen für gcloud-Befehle.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für das Repository zuzuweisen, damit Sie die nötigen Berechtigungen zum Verwalten von Bildern haben:
-
Bilder, Dateien in Bildern und Tags ansehen:
Artifact Registry-Leser (
roles/artifactregistry.reader) -
Bilder mit Artifact Registry taggen oder Tags bearbeiten:
Artifact Registry-Autor (
roles/artifactregistry.writer) -
Bilder löschen oder Tags entfernen:
Repository-Administrator für Artifact Registry (
roles/artifactregistry.repoAdmin)
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
Bilder auflisten
Repository-Modi:Standard, Remote
Sie können die Images mit der Google Cloud console oder der gcloud CLI auflisten.
Die Repository-Liste enthält sowohl Artifact Registry- als auch Container Registry-Repositories. Informationen zum Arbeiten mit Images in einem Container Registry-Repository finden Sie in der Container Registry-Dokumentation unter Images verwalten.Console
So rufen Sie Bilder in einem Repository auf:
Öffnen Sie in der Google Cloud Console die Seite Repositories.
Klicken Sie auf das Repository mit dem Container-Image.
Klicken Sie auf ein Bild, um seine Versionen aufzurufen.
gcloud
So listen Sie alle Images im Standardprojekt, ‑repository und ‑standort auf, wenn die Standardwerte konfiguriert sind:
gcloud artifacts docker images list
Führen Sie den folgenden Befehl aus, um Bilder in einem Repository an einem bestimmten Speicherort aufzulisten:
gcloud artifacts docker images list LOCATION-docker.pkg.dev/PROJECT/REPOSITORY
Führen Sie den folgenden Befehl aus, um alle Digests und Tags für ein bestimmtes Image aufzulisten:
gcloud artifacts docker images list LOCATION-docker.pkg.dev/PROJECT/REPOSITORY/IMAGE \
--include-tags
Ersetzen Sie die folgenden Werte:
- LOCATION ist der regionale oder multiregionale Speicherort für das Repository.
- PROJECT ist die Google Cloud Projekt-ID. Wenn Ihre Projekt-ID einen Doppelpunkt (
:) enthält, lesen Sie den Abschnitt Projekte mit Domainbereich. - REPOSITORY ist der Name des Repositorys, in dem das Image gespeichert ist.
- IMAGE ist der Name des Images im Repository.
--include-tagszeigt alle Versionen von Bildern, einschließlich Digests und Tags. Wenn dieses Flag weggelassen wird, enthält die zurückgegebene Liste nur Container-Images der obersten Ebene.
Angenommen, Sie haben ein Image mit folgenden Merkmalen:
- Speicherort des Repositorys:
us-west1 - Repository-Name:
my-repo - Projekt-ID:
my-project - Image-Name:
my-image
Der vollständige Repository-Name lautet:
us-west1-docker.pkg.dev/my-project/my-repo
Der vollständige Image-Name lautet:
us-west1-docker.pkg.dev/my-project/my-repo/my-image
Weitere Informationen zum Format von Imagenamen finden Sie unter Repository- und Imagenamen.
Dateien auflisten
Repository-Modi:Standard, Remote
Sie können Dateien in einem Repository, Dateien in allen Versionen eines angegebenen Container-Images oder Dateien in einer bestimmten Version eines Images auflisten.
Für alle folgenden Befehle können Sie eine maximale Anzahl von zurückzugebenden Dateien festlegen, indem Sie dem Befehl das Flag --limit hinzufügen.
So listen Sie alle Dateien im Standardprojekt, ‑repository und ‑standort auf, wenn die Standardwerte konfiguriert sind:
gcloud artifacts files list
Führen Sie den folgenden Befehl aus, um Dateien in einem angegebenen Projekt, Repository und Speicherort aufzulisten:
gcloud artifacts files list \
--project=PROJECT \
--repository=REPOSITORY \
--location=LOCATION
So listen Sie Dateien für alle Versionen eines bestimmten Container-Images auf:
gcloud artifacts files list \
--project=PROJECT \
--repository=REPOSITORY \
--location=LOCATION \
--package=PACKAGE
So listen Sie Dateien für eine bestimmte Container-Image-Version auf:
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
Ersetzen Sie die folgenden Werte:
LOCATION: der regionale oder multiregionale Speicherort für das Repository.PROJECT: Ihre Google Cloud Projekt-ID. Wenn Ihre Projekt-ID einen Doppelpunkt (:) enthält, lesen Sie den Abschnitt Projekte mit Domainbereich.REPOSITORY: der Name des Repositorys, in dem das Image gespeichert ist.PACKAGE: der Name des ImagesVERSION: Der Image-Digest, ein String, der mitsha256:beginnt.TAG: Das mit dem Container-Image verknüpfte Tag.
Beispiele
Sehen Sie sich die folgenden Bildinformationen an:
- Projekt:
my-project - Repository:
my-repo - Speicherort des Repositorys:
us-west1 - Image:
my-app
Mit dem folgenden Befehl werden alle Dateien im Repository my-repo am Speicherort us-west1 im Standardprojekt aufgelistet:
gcloud artifacts files list \
--location=us-west1 \
--repository=my-repo
sha256:88b205d7995332e10e836514fbfd59ecaf8976fc15060cd66e85cdcebe7fb356 aufgelistet.
gcloud artifacts files list \
--project=my-project \
--location=us-west1 \
--repository=my-repo \
--package=my-app \
--version=sha256:88b205d7995332e10e836514fbfd59ecaf8976fc15060cd66e85cdcebe7fb356
1.0-dev aufgelistet.
gcloud artifacts files list \
--project=my-project \
--location=us-west1 \
--repository=my-repo \
--package=my-app \
--tag=1.0-dev
Images taggen
Sie können vorhandene Images in einem Artifact Registry-Repository taggen oder sie taggen, bevor Sie sie in ein Repository hochladen.
Images in einem Repository taggen
Repository-Modi:Standard
Sie können einem Image in einem Artifact Registry-Repository mit derGoogle Cloud console oder der Befehlszeile ein Tag hinzufügen. In einem Repository kann ein Tag immer nur einmal für eine bestimmte Version eines Images vorkommen. Wenn es also mehrere Versionen eines Images gibt, gilt jedes Tag nur für eine dieser Versionen. Wenn Sie einem Image ein Tag hinzufügen, das bereits in Verwendung ist, wird das Tag von der ursprünglichen Version zur neu getaggten Version verschoben.
Console
So taggen Sie ein Image in einem Repository:
Öffnen Sie in der Google Cloud Console die Seite Repositories.
Klicken Sie auf das Image, um die Versionen des Images aufzurufen.
Wählen Sie die Image-Version aus, die getaggt werden soll.
Klicken Sie in der Zeile der ausgewählten Version auf Weitere Aktionen (
) und dann auf Tags bearbeiten.Geben Sie neue Tags in das Feld ein und klicken Sie danach auf SPEICHERN.
gcloud
Wenn Sie Images in einem Repository taggen möchten, geben Sie die Image-Version mit dem Image-Digest oder -Tag an und geben Sie dann das hinzuzufügende Tag an. Führen Sie einen der folgenden Befehle aus:
gcloud artifacts docker tags add IMAGE-VERSION TAG
Wo
IMAGE-VERSIONist der vollständige Name der Image-Version, die getaggt werden soll, unter Verwendung des Image-Digests oder eines vorhandenes Tags für die Image-Version.TAGist der vollständige Name des Tags, das Sie hinzufügen möchten.
Angenommen, Sie haben ein Image mit folgenden Merkmalen:
- Speicherort des Repositorys:
us-west1 - Repository-Name:
my-repo - Projekt-ID:
my-project - Image-Name:
my-image - Vorhandenes Tag:
iteration6-final - Tag zum Hinzufügen:
release-candidate
Um der Version des Images mit dem Tag iteration6-final das Tag release-candidate hinzuzufügen, führen Sie den folgenden Befehl aus:
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
Weitere Informationen zum Format von Image-Namen, einschließlich domainbezogener Projekte, finden Sie unter Repository- und Image-Namen.
Lokale Images taggen
Damit Sie ein lokales Image in Artifact Registry hochladen können, müssen Sie es zuerst mit dem Namen des Repositorys taggen. Eine Anleitung dazu finden Sie unter Push- und Pull-Modus.
Tags von Images entfernen
Repository-Modi:Standard
Sie können ein Tag aus einem Image in Artifact Registry über dieGoogle Cloud console oder die Befehlszeile entfernen.
Console
Öffnen Sie in der Google Cloud Console die Seite Repositories.
Klicken Sie auf das Image, um die Versionen des Images aufzurufen.
Wählen Sie die Image-Version aus, dessen Tag entfernt werden soll.
Klicken Sie in der Zeile der ausgewählten Version auf Weitere Aktionen (
) und dann auf Tags bearbeiten.Löschen Sie das Tag und klicken Sie danach auf SPEICHERN.
gcloud
Um ein Tag zu löschen und aus dem Image zu entfernen, führen Sie folgenden Befehl aus:
gcloud artifacts docker tags delete LOCATION-docker.pkg.dev/PROJECT/REPOSITORY/IMAGE:TAG
Ersetzen Sie Folgendes:
-
LOCATIONist der regionale oder multiregionale Speicherort des Repositorys. PROJECTist die Google Cloud Projekt-ID. Wenn Ihre Projekt-ID einen Doppelpunkt (:) enthält, lesen Sie den Abschnitt Projekte mit Domainbereich.REPOSITORYist der Name des Repositorys, in dem das Image gespeichert ist.IMAGEist der Name des Images im Repository.TAGist das Tag für die Version, die Sie löschen möchten.
Bilder löschen
Repository-Modi:Standard, Remote
Sie können ein komplettes Container-Image oder eine bestimmte Image-Version löschen, die mit einem Tag oder Digest verknüpft ist. Durch das Entfernen nicht verwendeter Bilder können Sie die Speicherkosten senken.
- Das Löschen eines Bildes kann nicht rückgängig gemacht werden.
- Wenn Sie Bilder löschen, werden die referenzierten Ebenen nicht sofort gelöscht. Nicht referenzierte Ebenen werden täglich gelöscht.
- Bei Remote-Repositories wird die im Cache gespeicherte Kopie des Bildes entfernt. Das Bild ist weiterhin über die Upstream-Quelle verfügbar. Wenn das Remote-Repository eine neue Anfrage für dasselbe Bild erhält, wird es noch einmal heruntergeladen und im Cache gespeichert.
So löschen Sie Bilder aus der Google Cloud Console oder über die gcloud CLI:
Console
Öffnen Sie in der Google Cloud Console die Seite Repositories.
Klicken Sie auf den Bildnamen, um Versionen dieses Bildes aufzurufen.
Wählen Sie die Versionen aus, die Sie löschen möchten.
Klicken Sie auf Delete.
Klicken Sie im Bestätigungsdialogfeld auf LÖSCHEN.
gcloud
Um ein Image und alle zugehörigen Tags zu löschen, führen Sie folgenden Befehl aus:
gcloud artifacts docker images delete LOCATION-docker.pkg.dev/PROJECT/REPOSITORY/IMAGE --delete-tags
Um eine bestimmte Image-Version zu löschen, verwenden Sie einen der folgenden Befehle:
gcloud artifacts docker images delete LOCATION-docker.pkg.dev/PROJECT/REPOSITORY/IMAGE:TAG [--delete-tags]
oder
gcloud artifacts docker images delete LOCATION-docker.pkg.dev/PROJECT/REPOSITORY/IMAGE@IMAGE-DIGEST [--delete-tags]
Wo
- LOCATION ist der regionale oder multiregionale Speicherort für das Repository.
- PROJECT ist die Google Cloud Projekt-ID.
Wenn Ihre Projekt-ID einen Doppelpunkt (
:) enthält, lesen Sie den Abschnitt Projekte mit Domainbereich. - REPOSITORY ist der Name des Repositorys, in dem das Image gespeichert ist.
- IMAGE ist der Name des Images im Repository.
- TAG ist das Tag für die Version, die Sie löschen möchten. Wenn mehrere Tags mit derselben Bildversion verknüpft sind, müssen Sie
--delete-tagseinfügen, um die Bildversion zu löschen, ohne die Tags zuerst zu entfernen. - IMAGE-DIGEST ist der sha256-Hashwert der Version, die Sie löschen möchten. Wenn ein Tag mit dem Image-Digest verknüpft ist, müssen Sie
--delete-tagseinfügen, um die Image-Version zu löschen, ohne das Tag zuerst zu entfernen. - Mit
--delete-tagswerden alle Tags entfernt, die auf die Image-Version angewendet werden. Mit diesem Flag können Sie das Löschen einer Bildversion erzwingen, wenn:- Sie haben ein Tag angegeben, aber der Bildversion sind weitere Tags zugeordnet.
- Sie haben einen Image-Digest mit mindestens einem Tag angegeben.
Nächste Schritte
- Einzelne Dateien herunterladen, die in einem Image gespeichert sind, ohne Docker-Befehle zu verwenden. Das kann nützlich sein, um Manifestdateien schnell zu prüfen.