Nomi di repository e immagini

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Artifact Registry utilizza una convenzione di denominazione per identificare repository e immagini quando utilizzi i comandi API, gcloud e docker per interagire con i repository.

Repository Docker

Il nome completo di un repository Docker è nel seguente formato:

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

dove:

  • LOCATION è la località a livello di regione o multiregionale del repository.

  • PROJECT è il tuo ID progetto della console Google Cloud. Se l'ID progetto contiene i due punti (:) e utilizzi un repository Docker, consulta la sezione Progetti con ambito dominio.

  • REPOSITORY è il nome del repository.

Ad esempio, prendi in considerazione un'immagine con le seguenti caratteristiche:

  • Località repository: us
  • Formato repository: docker
  • Nome repository: my-repo
  • ID progetto: my-project

Il repository è specificato come:

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

Nomi immagini container

Il nome completo di un'immagine container è uno dei seguenti formati:

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

o

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

o

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

dove:

  • LOCATION è la località a livello di regione o multiregionale del repository.
  • PROJECT è il tuo ID progetto della console Google Cloud. Se l'ID progetto contiene i due punti (:), consulta Progetti con ambito dominio.
  • REPOSITORY è il nome del repository in cui è archiviata l'immagine.
  • IMAGE è il nome dell'immagine nel repository.
  • TAG è il tag per la versione dell'immagine che vuoi estrarre.
  • IMAGE-DIGEST è il valore hash sha256 dei contenuti dell'immagine. Nella console Google Cloud, fai clic sull'immagine specifica per visualizzarne i metadati. La sintesi viene elencata come digest immagine.

    Se non specifichi un tag o un digest, Artifact Registry cerca l'immagine con il tag predefinito latest. Consulta le versioni delle immagini container per informazioni sulle versioni.

Ad esempio, prendi in considerazione un'immagine con le seguenti caratteristiche:

  • Località repository: us
  • Nome repository: my-repo
  • ID progetto: my-project
  • Nome immagine: test
  • Tag: staging

Questa versione dell'immagine codificata con gestione temporanea è specificata come segue:

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

Versioni immagine container

Un repository può contenere molte immagini container e queste immagini possono avere versioni diverse. Per identificare una versione specifica di un'immagine, puoi specificare il digest o il tag dell'immagine.

Sintesi
Un digest di immagini è un hash generato automaticamente dell'indice o del manifest dell'immagine. Il digest di ogni immagine è un identificatore univoco per la versione di un'immagine e non può essere modificato. Il digest è il valore hash sha256 dei contenuti dell'immagine.
Tag

Un tag immagine è un'etichetta e spesso è una stringa leggibile come v1.1 o development. Un tag può indirizzare a una sola versione di un'immagine. In Artifact Registry, puoi configurare un repository Docker per consentire i tag modificabili o applicare tag immutabili (anteprima).

  • Modificabile: un tag rimanda a una sola versione di un'immagine, ma il digest specifico a cui fa riferimento può cambiare.

Un approccio comune è quello di taggare le immagini con un identificatore di versione, ad esempio v1.1 al momento della build. Quando la build esegue il push di più versioni dell'immagine al registro con lo stesso tag v1.1, il tag fa riferimento alla sintesi dell'ultima versione di cui è stato eseguito il push al registro. Sebbene i tag modificabili forniscano un modo pratico per etichettare le versioni, possono anche essere manipolati da un utente malintenzionato per associare un tag a una versione dannosa di un'immagine.

  • Immutable (Immutabile): nel repository, un tag rimanda sempre alla stessa sintesi immagine. Se è configurato un repository Artifact Registry per i tag immutabili, le seguenti azioni non sono consentite:

    • Eliminare un'immagine con tag. È comunque consentito eliminare le immagini senza tag.
    • Rimuovere un tag da un'immagine.
    • Esegui il push di un'immagine con un tag già utilizzato da un'altra versione dell'immagine nel repository.

Ad esempio, prendi in considerazione un'immagine con le seguenti caratteristiche:

  • Località repository: us
  • Nome repository: my-repo
  • ID progetto: my-project
  • Nome immagine: test
  • Tag: staging
  • Sintesi: sha256:4d11e24ba8a615cc85a535daa17b47d3c0219f7eeb2b8208896704ad7f88ae2d

Per identificare l'immagine con il tag, aggiungi :staging al nome:

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

Per identificarla con il digest, aggiungi @ al nome dell'immagine, seguito dal digest:

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

Se l'ID progetto contiene i due punti (:), consulta Progetti con ambito dominio.

Nella console, nella schermata Immagini, la colonna Tag elenca i tag dell'immagine. Fai clic sulla versione dell'immagine per visualizzare i metadati, inclusa la sintesi dell'immagine.

Consulta la sezione Tagging delle immagini per ulteriori informazioni sul tagging.

Progetti con ambito a livello di dominio

Se l'ambito del tuo progetto è il tuo dominio, l'ID progetto include il nome del dominio seguito da due punti (:). A causa del modo in cui Docker tratta i due punti, devi sostituire il carattere dei due punti con una barra quando specifichi una sintesi immagine in Artifact Registry. Identifica le immagini in questi tipi di progetti utilizzando il seguente formato:

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

Ad esempio, il progetto con ID example.com:my-project potrebbe avere la seguente immagine:

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

Nomi repository come URL

Per accedere a un repository o a un artefatto in un repository nella console Google Cloud, anteponi https:// al nome completo.

Ad esempio, per visualizzare il repository us-maven.pkg.dev/my-project/my-repo, utilizza il seguente URL:

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

Per visualizzare l'immagine us-docker.pkg.dev/example.com/my-project/my-repo/my-image, utilizza il seguente URL:

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

Qualsiasi utente autenticato che abbia l'autorizzazione ad accedere al repository può utilizzare questi link.