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 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
oderdevelopment
. 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 demselbenv1.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.