Nomi di repository e immagini

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

Repository Docker

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

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

dove:

Ad esempio, considera un'immagine con le seguenti caratteristiche:

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

Il repository è specificato come:

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

Nomi delle immagini container

Il nome completo di un'immagine container è in 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 è il una o più regioni località del repository.
  • PROJECT è la tua console Google Cloud ID progetto. Se l'ID progetto contiene i due punti (":"), vedi Progetti con ambito dominio.
  • REPOSITORY è il nome del repository in cui l'immagine viene archiviato.
  • IMAGE è il nome dell'immagine nel repository.
  • TAG è il tag della versione dell'immagine di cui vuoi eseguire il pull.
  • IMAGE-DIGEST è il valore hash sha256 dei contenuti dell'immagine. Nella console Google Cloud, fai clic sull'immagine specifica per visualizzarne i metadati. Il digest è indicato come Sintesi immagine.

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

Ad esempio, considera un'immagine con le seguenti caratteristiche:

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

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

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

Versioni immagini container

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

Sintesi
Un digest immagine è un hash generato automaticamente dell'indice o dell'immagine dell'immagine del file manifest. Ogni digest immagine è un identificatore univoco di una versione dell'immagine e non possono essere modificate. 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. Nella Artifact Registry, puoi configurare un repository Docker per consentire o applicare tag immagine immutabili.

  • Meditabile: un tag rimanda a una sola versione di un'immagine, ma la specifica digest a cui fa riferimento può cambiare.

    Un approccio comune consiste nell'aggiungere tag alle immagini con un identificatore di versione, ad esempio v1.1 in fase di creazione. Quando la build esegue il push di più versioni dell'immagine nel registry con lo stesso tag v1.1, il tag fa riferimento al digest l'ultima versione inviata al registro. Sebbene i tag immagine modificabili offrano un modo pratico per etichettare le versioni, possono anche essere manipolate per associare un tag a una versione dannosa di un'immagine.

  • Immutabile: nel repository, un tag rimanda sempre alla stessa immagine. digest. Se un repository Artifact Registry è configurato per l'immutabilità tag immagine, non sono consentite le seguenti azioni:

    • Eliminare un'immagine taggata. L'eliminazione delle immagini senza tag è comunque consentita.
    • Rimuovi un tag da un'immagine.
    • Esegui il push di un'immagine con un tag già utilizzato da un'altra versione di dell'immagine nel repository.

Ad esempio, considera un'immagine con le seguenti caratteristiche:

  • Località del repository: us-west1
  • 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 dell'immagine:

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

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

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

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

Nella schermata Immagini della console, la colonna Tag elenca le i tag. Fai clic sulla versione dell'immagine per visualizzare i metadati, tra cui Sintesi immagine.

Consulta la sezione Taggare le immagini per ulteriori informazioni su il tagging.

Progetti con ambito dominio

Se l'ambito del progetto è il tuo dominio, l'ID progetto include il nome il dominio seguito dai due punti (:). Per il modo in cui Docker tratta i due punti, devi sostituire i due punti con una barra quando specifichi di un digest di immagini in Artifact Registry. Identifica le immagini in questo tipo che utilizzano 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 immagine seguente:

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

Nomi dei 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-west1-maven.pkg.dev/my-project/my-repo, utilizza al seguente URL:

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

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

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

Qualsiasi utente autenticato che dispone dell'autorizzazione per accedere al repository può utilizzare questi .