Découvrez les étapes de dépannage qui peuvent vous être utiles si vous rencontrez des problèmes lors de la gestion des images de conteneurs dans Artifact Registry.
Syntaxe de l'ID de projet dans Docker CLI
En raison de la façon dont Docker traite les deux-points, lorsque vous utilisez Docker CLI, vous devez
remplacer les deux-points (:) de votre ID de projet par une barre oblique (/).
Pour en savoir plus, consultez la section Projets à portée de domaine.
Impossible d'extraire une image ou de déployer dans un environnement d'exécution Google Cloud
Vérifiez les éléments suivants :
- Vérifiez que le chemin d'accès complet de l'image que vous transférez est
correct. Le chemin d'accès doit inclure le nom d'hôte du registre, Google Cloud,
l'ID de projet, le dépôt et l'image. Exemple :
Pour plus d'informations, consultez la section Noms des dépôts et des images.us-west1-docker.pkg.dev/my-project/my-repo/my-image:v1 - Vérifiez que le compte qui extrait l'image dispose des autorisations appropriées pour lire à partir du dépôt. Si vous avez désactivé l'attribution automatique de rôles aux comptes de service, vous devez attribuer des rôles Artifact Registry aux comptes de service d'exécution.
- Pour les comptes de service Compute Engine, Cloud Run et Google Kubernetes Engine,
vous devez attribuer le rôle Lecteur Artifact Registry
(
roles/artifactregistry.reader) au compte de service d'exécution. - Pour votre compte de service Cloud Build, vous devez attribuer le
rôle Rédacteur Artifact Registry (
roles/artifactregistry.writer) au compte de service qui exécute les compilations. - Si vous utilisez Docker ou un autre outil tiers, vous devez :
- Accorder des autorisations à le compte qui interagit avec le dépôt.
- Configurer le client pour qu'il s'authentifie auprès du dépôt.
Impossible de transférer une image vers Artifact Registry
Essayez d'exécuter les commandes suivantes :
- Vérifiez que le dépôt existe. Contrairement à Container Registry, la création d'un dépôt est une opération distincte du transfert de la première image. Si le dépôt n'existe pas, alors créez-le.
- Vérifiez que le chemin d'accès complet de l'image que vous transférez est correct. Le
chemin d'accès doit inclure le nom d'hôte du registre, Google Cloud l'ID de projet,
le dépôt et l'image. Exemple :
us-west1-docker.pkg.dev/my-project/my-repo/my-image:v1Chaque dépôt Artifact Registry est une ressource distincte. Vous ne pouvez donc pas transférer une image vers un chemin d'accès sans dépôt. Par exemple,
us-west1-docker.pkg.dev/my-project/my-image:v1n'est pas un chemin d'accès d'image valide.Pour plus d'informations, consultez la section Noms des dépôts et des images.
- Vérifiez que le compte qui transfère l'image dispose des autorisations nécessaires pour écrire dans le dépôt. Si vous avez désactivé l'attribution automatique de rôles aux comptes de service, vous devez attribuer des rôles Artifact Registry aux comptes de service d'exécution.
- Pour les comptes de service Compute Engine, Cloud Run et Google Kubernetes Engine,
vous devez attribuer le rôle Rédacteur Artifact Registry
(
roles/artifactregistry.writer) au compte de service d'exécution. - Pour votre compte de service Cloud Build, vous devez attribuer le
rôle Rédacteur Artifact Registry (
roles/artifactregistry.writer) au compte de service qui exécute les compilations. - Si Artifact Registry a renvoyé le message
The repository has enabled tag immutability, cela signifie que l'immuabilité des tags est configurée pour le dépôt. Vous ne pouvez pas transférer une image avec un tag déjà utilisé pour une autre version de la même image dans le dépôt. Essayez de transférer à nouveau l'image avec un tag qui n'est pas utilisé par d'autres versions stockées de l'image.Pour vérifier qu'un dépôt est configuré pour des tags d'image immuables, cochez la colonne Immutable image tags (Tags d'image immuables) dans la liste des dépôts de Google Cloud la console ou exécutez la commande suivante :
gcloud artifacts repositories describe REPOSITORY \ --project=PROJECT-ID \ --location=LOCATION
Messages ImagePullBackOff et ErrImagePull
Les messages contenant ImagePullBackOff et ErrImagePull indiquent qu'une image ne peut pas être extraite du registre par GKE.
- Vérifiez les exigences pour extraire des données d'Artifact Registry.
- Consultez la section Résoudre les problèmes d'extraction d'images dans la documentation GKE.