Repository- und Image-Namen

Artifact Registry verwendet eine Namenskonvention, um Repositories und Images zu identifizieren, wenn Sie die API-, gcloud- und docker-Befehle für die Interaktion mit Repositories verwenden.

Docker-Repositories

Der vollständige Name für ein Docker-Repository hat folgendes Format:

LOCATION-docker.pkg.dev/PROJECT-ID/REPOSITORY

Dabei gilt:

  • LOCATION ist der/die/das regional oder multiregional Speicherort des Repositorys.

  • PROJECT ist Ihre Google Cloud Console Projekt-ID. Wenn die Projekt-ID einen Doppelpunkt (`:`) enthält, finden Sie weitere Informationen unter Auf Domains beschränkte Projekte.

  • REPOSITORY ist der Name des Repositorys.

Angenommen, Sie haben ein Image mit folgenden Merkmalen:

  • Speicherort des Repositorys: us-west1
  • Repository-Format: docker
  • Repository-Name: my-repo
  • Projekt-ID: my-project

Das Repository wird so angegeben:

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

Container-Image-Namen

Der vollständige Name für ein Container-Image hat eines der folgenden Formate:

LOCATION-docker.pkg.dev/PROJECT-ID/REPOSITORY/IMAGE

oder

LOCATION-docker.pkg.dev/PROJECT-ID/REPOSITORY/IMAGE:TAG

oder

LOCATION-docker.pkg.dev/PROJECT-ID/REPOSITORY/IMAGE@IMAGE-DIGEST

Dabei gilt:

  • LOCATION ist der/die/das regional oder multiregional Speicherort des Repositorys.
  • PROJECT ist Ihre Google Cloud Console Projekt-ID. Wenn die Projekt-ID einen Doppelpunkt (`:`) enthält, finden Sie weitere Informationen unter Auf Domains beschränkte Projekte.
  • 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 Image-Version, die Sie herunterladen möchten.
  • IMAGE-DIGEST ist der sha256-Hash-Wert des Image-Inhalts. Klicken Sie in der Google Cloud Console auf das jeweilige Image, um die zugehörigen Metadaten aufzurufen. Der Digest wird unter Image-Digest aufgeführt.

    Wenn Sie weder ein Tag noch einen Digest angeben, sucht Artifact Registry nach dem Image mit dem Standard-Tag latest. Informationen zu Versionen finden Sie unter Container-Image-Versionen.

Angenommen, Sie haben ein Image mit folgenden Merkmalen:

  • Speicherort des Repositorys: us-west1
  • Repository-Name: my-repo
  • Projekt-ID: my-project
  • Image-Name: test
  • Tag: staging

Diese Version des mit Staging getaggten Images wird so angegeben:

us-west1-docker.pkg.dev/my-project/my-repo/test:staging

Container-Image-Versionen

Ein Repository kann viele Container-Images enthalten. Diese Images können verschiedenen Versionen. Um eine bestimmte Version eines Images zu identifizieren, müssen Sie kann den Image-Digest oder das Image-Tag angeben.

Benachrichtigung
Ein Image-Digest ist ein automatisch generierter Hash des Image-Index oder Images Manifests. Jeder Image-Digest ist eine eindeutige Kennung für eine Image-Version und kann nicht geändert werden. Der Digest ist der SHA256-Hashwert des Image-Inhalts.
Tag

Ein Bild-Tag ist ein Label und oft ein für Menschen lesbarer String wie v1.1 oder development. Ein Tag kann nur auf eine Version eines Images verweisen. In In Artifact Registry können Sie ein Docker-Repository so konfigurieren, dass es änderbar ist. Image-Tags erstellen oder unveränderliche Image-Tags erzwingen.

  • Anpassbar: Ein Tag verweist nur auf eine Version eines Images, aber die spezifische Digest, auf den er verweist, sich ändern kann.

    Ein gängiger Ansatz besteht darin, Images mit einer Versions-ID wie v1.1 zu taggen. während der Build-Erstellung. Wenn der Build mehrere Versionen des Images per Push an die Registry mit demselben v1.1-Tag enthält, verweist das Tag auf den Digest des die letzte in die Registry übertragene Version. Obwohl änderbare Image-Tags eine eine bequeme Möglichkeit, Versionen zu beschriften. Sie können auch durch eine schlechte ein Tag mit einer schädlichen Image-Version zu verknüpfen.

  • Unveränderlich: Im Repository verweist ein Tag immer auf dasselbe Image. Digest. Wenn ein Artifact Registry-Repository als unveränderlich konfiguriert ist Image-Tags enthält, sind die folgenden Aktionen nicht zulässig:

    • Ein getaggtes Bild löschen. Das Löschen von Images ohne Tags ist weiterhin zulässig.
    • Tag aus einem Bild entfernen
    • Image mit einem Tag senden, das bereits von einer anderen Version von verwendet wird im Repository gespeichert.

Angenommen, Sie haben ein Image mit folgenden Merkmalen:

  • Speicherort des Repositorys: us-west1
  • Repository-Name: my-repo
  • Projekt-ID: my-project
  • Image-Name: test
  • Tag: staging
  • Digest: sha256:4d11e24ba8a615cc85a535daa17b47d3c0219f7eeb2b8208896704ad7f88ae2d

Hängen Sie :staging an den Image-Namen an, um das Image mit dem Tag zu identifizieren:

us-west1-docker.pkg.dev/my-project/my-repo/test:staging

Um es mit dem Digest zu identifizieren, hängen Sie @ an den Image-Namen an, gefolgt von Benachrichtigung:

us-west1-docker.pkg.dev/my-project/my-repo/test@sha256:4d11e24ba8a615cc85a535daa17b47d3c0219f7eeb2b8208896704ad7f88ae2d

Wenn die Projekt-ID einen Doppelpunkt (`:`) enthält, finden Sie weitere Informationen unter Auf Domains beschränkte Projekte.

In der Console werden die Image-Tags unter Images in der Spalte Tags angezeigt. Klicken Sie auf die Version des Bildes, um die Metadaten aufzurufen, einschließlich der Image-Digest.

Weitere Informationen zur Tagging finden Sie unter Images taggen.

Auf Domains beschränkte Projekte

Wenn Ihr Projekt auf Ihre Domain beschränkt ist, enthält die Projekt-ID den Namen der Domain, gefolgt von einem Doppelpunkt (:). Aufgrund der Art und Weise, wie Docker Doppelpunkte behandelt, müssen Sie den Doppelpunkt durch einen Schrägstrich ersetzen, wenn Sie einen Image-Digest in Artifact Registry angeben. Identifizieren Sie Images in diesen Projekttypen im folgenden Format:

LOCATION-docker.pkg.dev/DOMAIN/PROJECT-ID/REPOSITORY/IMAGE@IMAGE-DIGEST

Das Projekt mit der ID example.com:my-project könnte beispielsweise folgendes Image haben:

us-west1-docker.pkg.dev/example.com/my-project/my-repo/image-name

Repository-Namen als URLs

So greifen Sie in der Google Cloud Console auf ein Repository oder Artefakt in einem Repository zu: Stellen Sie dem vollständigen Namen https:// voran.

Wenn Sie beispielsweise das Repository us-west1-maven.pkg.dev/my-project/my-repo ansehen möchten, verwenden Sie die folgende URL:

https://us-west1-maven.pkg.dev/my-project/my-repo

Um das Bild us-west1-docker.pkg.dev/example.com/my-project/my-repo/my-image anzusehen, verwenden Sie die folgende URL:

https://us-west1-docker.pkg.dev/example.com/my-project/my-repo/my-image

Jeder authentifizierte Nutzer, der über die Berechtigung zum Zugriff auf das Repository verfügt, kann diese Links.