Risolvere i problemi relativi alle immagini container

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 (/).

Impossibile eseguire il pull di un'immagine o il deployment in un ambiente Google Cloud runtime

Verifica quanto segue:

  1. 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:
    -docker.pkg.dev/my-project/my-repo/my-image:v1
    Per ulteriori informazioni, vedi Nomi di repository e immagini.
  2. 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.

Impossibile eseguire il push di un'immagine in Artifact Registry

Prova a procedere come segue:

  1. 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:
    -docker.pkg.dev/my-project/my-repo/my-image:v1
      

    Ogni repository Artifact Registry è una risorsa separata, quindi non puoi eseguire il push di un'immagine in un percorso senza un repository. Ad esempio, -docker.pkg.dev/my-project/my-image:v1 è un percorso immagine non valido.

    Per ulteriori informazioni, vedi Nomi di repository e immagini.

  2. 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 e Google Kubernetes Engine, devi concedere il ruolo Writer Artifact Registry (roles/artifactregistry.writer) al account di servizio di runtime.
  3. 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.