Scopri i passaggi per la risoluzione dei problemi, utili in caso di problemi nella gestione delle immagini container in Artifact Registry.
Sintassi dell'ID progetto nell'interfaccia a riga di comando Docker
A causa del modo in cui Docker tratta i due punti, quando utilizzi l'interfaccia a riga di comando Docker, devi
sostituire i due punti (:) nell'ID progetto con una barra (/).
Per ulteriori informazioni, vedi Progetti con ambito di dominio.
Impossibile eseguire il pull di un'immagine o il deployment in un ambiente Google Cloud runtime
Verifica quanto segue:
- Verifica che il percorso completo dell'immagine di cui stai eseguendo il push sia
corretto. Il percorso deve includere il nome host del registro, Google Cloud,
ID progetto, repository e immagine. Ad esempio:
Per ulteriori informazioni, vedi Nomi di repository e immagini.us-west1-docker.pkg.dev/my-project/my-repo/my-image:v1 - Verifica che l'account che esegue il pull dell'immagine disponga delle autorizzazioni corrette per la lettura dal repository. Se hai disattivato la concessione automatica dei ruoli ai service account, devi concedere i ruoli di Artifact Registry ai service account di runtime.
- Per i service account di Compute Engine, Cloud Run e Google Kubernetes Engine,
devi concedere il ruolo Lettore Artifact Registry
(
roles/artifactregistry.reader) al account di servizio di runtime. - Per il account di servizio Cloud Build, devi concedere il
ruolo Writer Artifact Registry (
roles/artifactregistry.writer) al account di servizio che esegue le build. - Se utilizzi Docker o un altro strumento di terze parti, devi:
- Concedere le autorizzazioni a l'account che interagisce con il repository.
- Configurare il client per l'autenticazione al repository.
Impossibile eseguire il push di un'immagine in Artifact Registry
Prova a procedere come segue:
- Verifica che il repository esista. A differenza di Container Registry, la creazione del repository è un'operazione separata dal push della prima immagine. Se il repository non esiste, allora crealo.
- Verifica che il percorso completo dell'immagine di cui stai eseguendo il push sia corretto. Il
percorso deve includere il nome host del registro, Google Cloud l'ID progetto,
repository e l'immagine. Ad esempio:
us-west1-docker.pkg.dev/my-project/my-repo/my-image:v1Ogni repository Artifact Registry è una risorsa separata, quindi non puoi eseguire il push di un'immagine in un percorso senza un repository. Ad esempio,
us-west1-docker.pkg.dev/my-project/my-image:v1è un percorso immagine non valido.Per ulteriori informazioni, vedi Nomi di repository e immagini.
- Verifica che l'account che esegue il push dell'immagine disponga delle autorizzazioni per la scrittura nel repository. Se hai disattivato la concessione automatica dei ruoli ai service account, devi concedere i ruoli di Artifact Registry ai service account di runtime.
- Per i service account di Compute Engine, Cloud Run e Google Kubernetes Engine,
devi concedere il ruolo Writer Artifact Registry
(
roles/artifactregistry.writer) al account di servizio di runtime. - Per il account di servizio Cloud Build, devi concedere il
ruolo Writer Artifact Registry (
roles/artifactregistry.writer) al account di servizio che esegue le build. - Se Artifact Registry ha restituito il messaggio
The repository has enabled tag immutability, significa che l'immutabilità dei tag è configurata per il repository. Non puoi eseguire il push di un'immagine con un tag già utilizzato per un'altra versione della stessa immagine nel repository. Prova a eseguire di nuovo il push dell'immagine con un tag non utilizzato da altre versioni archiviate dell'immagine.Per verificare che un repository sia configurato per i tag immagine immutabili, controlla la colonna Tag immagine immutabili nell'elenco dei repository nella Google Cloud console o esegui il seguente comando:
gcloud artifacts repositories describe REPOSITORY \ --project=PROJECT-ID \ --location=LOCATION
Messaggi ImagePullBackOff ed ErrImagePull
I messaggi con ImagePullBackOff ed ErrImagePull indicano che GKE non può eseguire il pull di un'immagine dal registro.
- Verifica i requisiti per eseguire il pull da Artifact Registry.
- Consulta Risolvere i problemi relativi ai pull delle immagini nella documentazione di GKE.