La gestione delle immagini include l'elenco delle immagini in un repository, l'aggiunta e l'eliminazione di tag, la copia delle immagini in un nuovo repository e l'eliminazione delle immagini.
Per informazioni sul push di un'immagine locale su Container Registry o sul pull di un'immagine archiviata in Container Registry, consulta Push e pull delle immagini.
Prima di iniziare
Assicurati di:
Abilitato Container Registry nel tuo progetto.
Docker configurato per l'autenticazione nel registro.
Disporre delle autorizzazioni per accedere al Registro di sistema.
Elenco delle immagini in base alla località di archiviazione
Puoi elencare le immagini in località host specifiche utilizzando la console Google Cloud o la riga di comando.
Console
Per elencare le immagini in una delle località host:
Vai alla pagina di Container Registry.
Utilizza il selettore sopra Nome per scegliere la località host. Le opzioni includono Tutte le località e i nomi host attualmente utilizzati dal progetto, che possono includere gcr.io, us.gcr.io, eu.gcr.io o asia.gcr.io.
gcloud
Per elencare le immagini che si trovano in una delle località host, utilizza il comando seguente:
gcloud container images list --repository=[HOSTNAME]/[PROJECT-ID]
dove:
[HOSTNAME]
è elencato inLocation
nella console. È una delle quattro opzioni:gcr.io
,us.gcr.io
,eu.gcr.io
oasia.gcr.io
.[PROJECT-ID]
è l'ID progetto della console Google Cloud. Se l'ID progetto contiene i due punti (:
), consulta Progetti con ambito di dominio.
Se hai registri nidificati, elenca le immagini nidificate specificando il livello di repository in cui sono archiviate:
gcloud container images list --repository=[HOSTNAME]/[PROJECT-ID]/[IMAGE]
dove [IMAGE]
è il repository sotto il quale sono nidificate più immagini.
Consulta anche la documentazione gcloud container images list
.
Elenco delle versioni di un'immagine
Un registro può contenere diverse versioni di un'immagine. Queste versioni hanno lo stesso nome di immagine e sono identificate dal digest e dai tag.
Console
Per visualizzare il digest e i tag di un'immagine:
Vai alla pagina di Container Registry.
Fai clic sul nome dell'immagine per visualizzarne le versioni. Il digest troncato è riportato sotto Nome, mentre i tag sono elencati in Tag.
Per visualizzare la sintesi completa, fai clic sulla versione dell'immagine per visualizzarne i metadati. Il digest è chiamato Sintesi immagine.
gcloud
Per elencare i digest troncati e i tag di un'immagine, esegui questo comando:
gcloud container images list-tags [HOSTNAME]/[PROJECT-ID]/[IMAGE]
dove:
[HOSTNAME]
è elencato inLocation
nella console. È una delle quattro opzioni:gcr.io
,us.gcr.io
,eu.gcr.io
oasia.gcr.io
.[PROJECT-ID]
è l'ID progetto della console Google Cloud. Se l'ID progetto contiene due punti (:
), consulta Progetti con ambito di dominio.[IMAGE]
è il nome dell'immagine in Container Registry.
Per elencare il digest completo delle versioni di un'immagine specifica, esegui questo comando:
gcloud container images list-tags --format='get(digest)' [HOSTNAME]/[PROJECT-ID]/[IMAGE]
Consulta la documentazione gcloud container images list-tags
.
Tagging delle immagini
Puoi aggiungere un tag a un'immagine utilizzando la console Google Cloud o la riga di comando.
Un digest è un identificatore univoco generato automaticamente per una versione immagine. Un tag funge da etichetta che puoi applicare a una versione specifica di un'immagine.
Puoi aggiungere più di un tag a un'immagine. All'interno di un repository, ogni tag
di un'immagine deve essere univoco. Ad esempio, se aggiungi il tag release-candidate
alla nona versione dell'immagine e alla decima versione, il tag verrà spostato dalla nona versione alla decima versione.
Se non tagghi un'immagine, il client Docker aggiunge il tag predefinito latest
.
Questo significa che latest
non indica la versione più recente di un'immagine.
Indica invece una versione dell'immagine taggata specificatamente come latest
o
la versione senza tag più recente di un'immagine. Poiché il significato di latest
non è chiaro, ti consigliamo di evitare di fare affidamento sul tag latest
.
Console
Per taggare un'immagine ospitata da Container Registry:
Vai alla pagina di Container Registry.
Fai clic sul nome dell'immagine per visualizzarne la versione.
In Tag, fai clic sull'icona di modifica.
Digita nuovi tag nel campo e fai clic su SALVA.
gcloud
Per taggare le immagini ospitate da Container Registry, utilizza il comando gcloud
container images add-tag
:
gcloud container images add-tag \
[HOSTNAME]/[PROJECT-ID]/[IMAGE]:[TAG] \
[HOSTNAME]/[PROJECT-ID]/[IMAGE]:[NEW_TAG]
o
gcloud container images add-tag \
[HOSTNAME]/[PROJECT-ID]/[IMAGE]@[IMAGE_DIGEST] \
[HOSTNAME]/[PROJECT-ID]/[IMAGE]:[NEW_TAG]
dove:
[HOSTNAME]
è elencato inLocation
nella console. È una delle quattro opzioni:gcr.io
,us.gcr.io
,eu.gcr.io
oasia.gcr.io
.[PROJECT-ID]
è l'ID progetto della console Google Cloud. Se l'ID progetto contiene due punti (:
), consulta Progetti con ambito di dominio.[IMAGE]
è il nome dell'immagine in Container Registry.[TAG]
è un tag già applicato all'immagine.[IMAGE_DIGEST]
è il valore hash sha256 dei contenuti dell'immagine.[NEW_TAG]
è il nuovo tag che stai aggiungendo all'immagine.
Per saperne di più su questo comando, consulta gcloud container images add-tag
.
Tagging delle immagini locali per l'hosting su Container Registry
Per eseguire il push di un'immagine locale in Container Registry, devi prima taggarla con il nome del registro ed eseguire il push dell'immagine. Per le istruzioni, vedi Push di un'immagine in un registro.
Rimozione dei tag dalle immagini
Puoi rimuovere un tag da un'immagine in Container Registry utilizzando la console Google Cloud o la riga di comando.
Console
Vai alla pagina di Container Registry.
Fai clic sul nome dell'immagine per visualizzarne la versione.
In Tag, fai clic sull'icona di modifica.
Elimina il tag e fai clic su SALVA.
gcloud
Per rimuovere un tag da un'immagine, utilizza il seguente comando:
gcloud container images untag [HOSTNAME]/[PROJECT-ID]/[IMAGE]:[TAG]
dove:
[HOSTNAME]
è elencato inLocation
nella console. È una delle quattro opzioni:gcr.io
,us.gcr.io
,eu.gcr.io
oasia.gcr.io
.[PROJECT-ID]
è l'ID progetto della console Google Cloud. Se l'ID progetto contiene due punti (:
), consulta Progetti con ambito di dominio.[IMAGE]
è il nome dell'immagine in Container Registry.[TAG]
è il tag da rimuovere.Per saperne di più su questo comando, consulta
gcloud container images untag
.
Copia di immagini in un nuovo registro
Puoi copiare un'immagine da un repository all'altro utilizzando la riga di comando. Devi avere accesso a entrambi i repository.
Per copiare un'immagine da un repository all'altro, utilizza il comando gcloud
container images add-tag
e identifica l'immagine da spostare con il tag:
gcloud container images add-tag \
[SOURCE_HOSTNAME]/[SOURCE_PROJECT-ID]/[SOURCE_IMAGE]:[SOURCE_TAG] \
[DESTINATION_HOSTNAME]/[DESTINATION_PROJECT-ID]/[DESTINATION_IMAGE]:[DESTINATION_TAG]
o il suo digest:
gcloud container images add-tag \
[SOURCE_HOSTNAME]/[SOURCE_PROJECT-ID]/[SOURCE_IMAGE]@[IMAGE_DIGEST] \
[DESTINATION_HOSTNAME]/[DESTINATION_PROJECT-ID]/[DESTINATION_IMAGE]:[DESTINATION_TAG]
dove, sia per l'origine che per la destinazione:
[HOSTNAME]
è la località in cui è ospitata l'immagine ed è una delle quattro opzioni seguenti:gcr.io
,us.gcr.io
,eu.gcr.io
oasia.gcr.io
.[PROJECT-ID]
è l'ID progetto della console Google Cloud. Se l'ID progetto contiene due punti (:
), consulta Progetti con ambito di dominio.[IMAGE]
è il nome dell'immagine in Container Registry.[IMAGE_DIGEST]
è il valore hash sha256 dei contenuti dell'immagine.[TAG]
è il tag che identifica l'immagine di origine da spostare o il tag da applicare all'immagine nel repository di destinazione.
Ad esempio, se vuoi copiare l'immagine my-image
nel repository di un altro progetto e nell'host europeo, ma vuoi mantenere lo stesso nome e tag dell'immagine, utilizza:
gcloud container images add-tag \
gcr.io/[PROJECT-ID]/my-image:tag1 \
eu.gcr.io/[OTHER-PROJECT-ID]/my-image:tag1
dove [PROJECT-ID]
e [OTHER-PROJECT-ID]
sono gli
ID progetto
della console Google Cloud del progetto da cui stai eseguendo la copia e del progetto in cui stai copiando.
Devi avere accesso ai repository in entrambi i progetti. Se uno degli ID progetto contiene due punti (:
), consulta Progetti con ambito di dominio.
Per saperne di più su questo comando, consulta gcloud container images add-tag
.
Eliminazione delle immagini
Puoi eliminare un'immagine utilizzando la console Google Cloud o la riga di comando. Una volta eliminata l'immagine, l'operazione non potrà essere annullata.
Sono disponibili altri strumenti per gestire le immagini inutilizzate. Ad esempio, lo strumento gcr-cleaner trova ed elimina le vecchie immagini in base a diversi criteri. La rimozione delle immagini inutilizzate
può aiutarti a ridurre i costi di archiviazione. Lo strumento gcr-cleaner
non è un
prodotto ufficiale di Google.
Per eliminare un'immagine dalla console Google Cloud o da gcloud CLI:
Console
Vai alla pagina di Container Registry.
Fai clic sul nome dell'immagine per visualizzarne le versioni.
Nel Registro di sistema, seleziona la casella accanto alla versione o alle versioni dell'immagine che vuoi eliminare.
Fai clic su ELIMINA nella parte superiore della pagina.
Nel popup Elimina elementi del repository, fai clic su ELIMINA.
gcloud
Esegui uno dei seguenti comandi:
Un'immagine identificata dal relativo digest:
gcloud container images delete [HOSTNAME]/[PROJECT-ID]/[IMAGE]@[IMAGE_DIGEST]
Un'immagine identificata dal relativo tag, con più tag:
gcloud container images delete [HOSTNAME]/[PROJECT-ID]/[IMAGE]:[TAG] --force-delete-tags
dove:
[HOSTNAME]
è elencato inLocation
nella console. È una delle quattro opzioni:gcr.io
,us.gcr.io
,eu.gcr.io
oasia.gcr.io
.[PROJECT-ID]
è l'ID progetto della console Google Cloud. Se l'ID progetto contiene due punti (:
), consulta Progetti con ambito di dominio.[IMAGE]
è il nome dell'immagine in Container Registry.[IMAGE_DIGEST]
è il valore hash sha256 dei contenuti dell'immagine.[TAG]
è il tag dell'immagine che vuoi rimuovere.
Consulta il gcloud container images delete
per ulteriori informazioni su questo comando.
Passaggi successivi
- Scopri di più sulla configurazione del controllo dell'accesso.
- Scopri di più sui componenti e sulle funzionalità di Container Registry.