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:
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.
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
odevelopment
. 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 tagv1.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 .