Containermetadaten verwalten

Auf dieser Seite wird beschrieben, wie Sie ein Container-Image containerisieren, in Artifact Registry hochladen und die Metadaten zu einem Container-Image verwalten, das in Artifact Registry als Anhang gespeichert ist.

Anhänge sind OCI-Artefakte und können nur an folgenden Orten gespeichert werden: Repositories im Docker-Format.

Hinweise

  1. Wenn Sie noch keins haben, erstellen Sie ein Standard-Repository im Docker-Format.
  2. (Optional) Konfigurieren Sie Standardeinstellungen für Google Cloud CLI-Befehle.

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für das Repository zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Verwalten von Anhängen benötigen:

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.

Oras einrichten (optional)

Zusätzlich zur gcloud CLI können Sie auch Oras verwenden, um Anhänge zu erstellen, aufzulisten und herunterzuladen.

  1. Installieren Sie Oras 1.2 oder höher. Zur Bestätigung Ihre Version, führen Sie den Befehl oras version aus.

  2. Konfigurieren Sie Oras für die Authentifizierung bei Artifact Registry.

Anhänge erstellen

Sie können einen Anhang mit der gcloud CLI oder Oras erstellen.

gcloud

Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:

  • ATTACHMENT: der voll qualifizierte Name des Anhangs. Beispiel: projects/my-project/locations/us-west1/repositories/my-repo/attachments/my-attachment. Alternativ können Sie auch nur die Anhangs-ID angeben und die --location und --repository-Flags.
  • TARGET: Der vollständige Versionsname oder der Artifact Registry-URI des Artefakts, auf das sich der Anhang bezieht. Sie können entweder den Digest oder das Tag verwenden. Beispiel: us-west1-docker.pkg.dev/my-project/my-repo/my-image:tag1.
  • TYPE: die type des Anhangs . Dies muss den OCI-Spezifikationen für das Attribut artifactType entsprechen.
  • ATTACHMENT_NAMESPACE: a Variable für Anhänge, die die Datenquelle des Anhangs identifiziert. Beispiel: example.com.
  • FILES: eine durch Kommas getrennte Liste lokaler Dateien, die in den Anhang aufgenommen werden sollen.
    • Führen Sie folgenden Befehl aus:

      Linux, macOS oder Cloud Shell

      gcloud artifacts attachments create ATTACHMENT \
          --target=TARGET \
          --type=TYPE \
          --attachment-namespace=ATTACHMENT_NAMESPACE \
          --files=FILES

      Windows (PowerShell)

      gcloud artifacts attachments create ATTACHMENT `
          --target=TARGET `
          --type=TYPE `
          --attachment-namespace=ATTACHMENT_NAMESPACE `
          --files=FILES

      Windows (cmd.exe)

      gcloud artifacts attachments create ATTACHMENT ^
          --target=TARGET ^
          --type=TYPE ^
          --attachment-namespace=ATTACHMENT_NAMESPACE ^
          --files=FILES
      Weitere Informationen finden Sie unter dem Befehl gcloud artifacts attachments create.

Øras

Wenn Sie einen Anhang mit Oras erstellen, generiert Artifact Registry eine zufällige UUID, die als Anhangsname verwendet wird.

Bevor Sie den Befehl ausführen, ersetzen Sie die folgenden Werte:

  • ARTIFACT_TYPE: die artifactType des Anhangs.

  • IMAGE_URI: der URI für den Image-Container, auf den der Anhang verweist.

  • FILE: eine lokale Datei in als Metadaten in den Anhang aufnehmen.

  • MEDIA_TYPE: die mediaType der Ebene.

  oras attach --artifact-type ARTIFACT_TYPE IMAGE_URI FILE:MEDIA_TYPE

Im folgenden Beispiel wird ein Anhang aus einer Datei (hello-world.txt) erstellt, die sich auf ein Container-Image (my-image) bezieht, das durch seinen URI und sein Tag identifiziert wird:

  oras attach --artifact-type doc/example \
  us-west1-docker.pkg.dev/my-project/my-repo/my-image:tag1 \
  hello-world.txt:application/vnd.me.hi

Wobei:

  • doc/example definiert die artifactType-Eigenschaft des Anhangs.

  • us-west1-docker.pkg.dev/my-project/my-repo/my-image:tag1 ist der URI mit dem Tag der Container-Image-Version des Anhangs auf die sie sich beziehen.

  • hello-world.txt ist die lokale Datei, die die Daten des Anhangs enthält.

  • application/vnd.me.hi definiert die mediaType des Ebene.

Eine vollständige Anleitung und weitere Beispiele finden Sie in der Dokumentation zu oras attach.

Listenanhänge

Ein Container-Image kann beliebig viele Anhänge haben, die darauf verweisen. Sie können Anhänge mit der Google Cloud Console, der gcloud CLI oder Oras auflisten.

Console

  1. Öffnen Sie in der Google Cloud Console die Seite Repositories.

    Zur Seite „Repositories“

  2. Klicken Sie auf den Namen des Repositorys, um die Images in Ihrem Repository aufzurufen.

  3. Klicken Sie auf den Namen des Bildes, um die Versionen aufzurufen.

  4. Klicken Sie auf die entsprechende Image-Version.

  5. Um die Anhänge für diese Version anzuzeigen, klicken Sie auf den Tab Anhänge.

gcloud

Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:

  • TARGET: der vollständig qualifizierte Versionsname oder den Artifact Registry-URI des Artefakts, für das Sie Anhänge auflisten möchten. Sie können entweder den Digest oder das Tag verwenden. Beispiel: us-west1-docker.pkg.dev/my-project/my-repo/my-image:tag1.

Führen Sie folgenden Befehl aus:

Linux, macOS oder Cloud Shell

gcloud artifacts attachments list \
    --target=TARGET

Windows (PowerShell)

gcloud artifacts attachments list `
    --target=TARGET

Windows (cmd.exe)

gcloud artifacts attachments list ^
    --target=TARGET
Weitere Informationen finden Sie in der gcloud artifacts attachments list-Befehl.

Øras

Bevor Sie den Befehl ausführen, ersetzen Sie die folgenden Werte:

  • IMAGE_URI: Der URI des Zielbilds, auf das alle aufgeführten Anhänge verweisen.
oras discover --distribution-spec v1.1-referrers-api IMAGE_URI

Im folgenden Beispiel werden Anhänge für das Container-Image my-image aufgelistet, durch URI und Tag identifiziert:

oras discover --distribution-spec v1.1-referrers-api \
us-west1-docker.pkg.dev/my-project/my-repo/my-image:tag1

Wobei:

  • v1.1-referrers-api ist die verwendete Referrer API. Weitere Informationen finden Sie unter Details finden Sie in der Vertriebsspezifikation.

  • us-west1-docker.pkg.dev/my-project/my-repo/my-image:tag1 der URI mit dem Tag der aufzulistenden Container-Image-Version ist für die Anhänge hinzu.

Eine vollständige Anleitung und weitere Beispiele finden Sie in der oras discover-Dokumentation.

Anhänge herunterladen

Sie können Anhänge über die gcloud CLI oder Oras herunterladen.

gcloud

Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:

  • ATTACHMENT: der voll qualifizierte Name des Anhangs. Beispiel: projects/my-project/locations/us-west1/repositories/my-repo/attachments/my-attachment. Alternativ können Sie hier nur die Anhang-ID angeben und die Flags --location und --repository verwenden.
  • DESTINATION: der Pfad in Ihrem lokalen Dateisystem, in das der Anhang heruntergeladen werden soll.

Führen Sie folgenden Befehl aus:

Linux, macOS oder Cloud Shell

gcloud artifacts attachments download ATTACHMENT \
    --destination=DESTINATION

Windows (PowerShell)

gcloud artifacts attachments download ATTACHMENT `
    --destination=DESTINATION

Windows (cmd.exe)

gcloud artifacts attachments download ATTACHMENT ^
    --destination=DESTINATION
Als Alternative zur Angabe von ATTACHMENT können Sie auch den --oci-version-name, gefolgt vom vollständigen Versionsnamen des Anhangs oder Artifact Registry-URI. Sie können entweder den Digest oder das -Tag verwenden. Beispiel: projects/my-project/locations/us-west1/repositories/my-repo/packages/my-package/versions/sha256:abc123.

Weitere Informationen finden Sie in der gcloud artifacts attachments download-Befehl.

Oras

Bevor Sie den Befehl ausführen, ersetzen Sie die folgenden Werte:

  • DESTINATION: das Zielverzeichnis für den Anhang.

  • ATTACHMENT_URI: die URI des herunterzuladenden Anhangs. Dies ist der URI für den Image-Container, bezieht sich auf den Anhang, gefolgt vom eindeutigen SHA-Wert des Anhangs.

oras pull -o DESTINATION ATTACHMENT_URI

Im folgenden Beispiel wird ein Anhang heruntergeladen, der anhand seines URI und seiner Prüfsumme identifiziert wird:

oras pull -o . us-west1-docker.pkg.dev/my-project/my-repo/my-image@sha256:xxxx

Wobei:

  • -o . benennt das aktuelle Verzeichnis als Downloadziel.

  • us-west1-docker.pkg.dev/my-project/my-repo/my-image@sha256:xxxx ist der Image-URI einschließlich des Digests des herunterzuladenden Anhangs.

Eine vollständige Anleitung und weitere Beispiele finden Sie in der Dokumentation zu oras pull.

Anhänge löschen

Sie können Anhänge direkt über die Google Cloud Console oder die gcloud CLI löschen. Sie können Anhänge indirekt löschen, indem Sie die Container-Image, auf das sie sich bezieht.

Anhänge direkt löschen

Sie haben folgende Möglichkeiten, Anhänge direkt zu löschen:

Console

  1. Öffnen Sie in der Google Cloud Console die Seite Repositories.

    Zur Seite „Repositories“

  2. Klicken Sie auf den Namen des Repositorys, um die Images in Ihrem Repository aufzurufen.

  3. Klicken Sie auf den Image-Namen, um die Versionen dieses Images zu sehen.

  4. Klicken Sie auf die Version des Bildes, um sich die Anhänge anzusehen.

  5. Klicken Sie auf den Tab Anhänge, um die Anhänge für diese Version aufzurufen.

  6. Klicken Sie auf den Digest des Anhangs, den Sie löschen möchten.

  7. Klicken Sie auf Delete.

  8. Klicken Sie im Bestätigungsdialogfeld auf LÖSCHEN.

gcloud

Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:

  • ATTACHMENT: der voll qualifizierte Name des Anhangs. Beispiel: projects/my-project/locations/us-west1/repositories/my-repo/attachments/my-attachment. Alternativ können Sie hier nur die Anhang-ID angeben und die Flags --location und --repository verwenden.

Führen Sie folgenden Befehl aus:

Linux, macOS oder Cloud Shell

gcloud artifacts attachments delete ATTACHMENT

Windows (PowerShell)

gcloud artifacts attachments delete ATTACHMENT

Windows (cmd.exe)

gcloud artifacts attachments delete ATTACHMENT
Weitere Informationen finden Sie in der gcloud artifacts attachments list-Befehl.

Anhänge indirekt löschen

Wenn ein Container-Image gelöscht wird, werden auch alle verweisenden Anhänge gelöscht. Dies gilt sowohl für das manuelle Löschen von Container-Images Löschungen aufgrund von Bereinigungsrichtlinien.