1
votes

impossible de pousser l'image du docker vers gcr.io

Voici une exigence très simple. J'ai préparé une image docker sur mon Mac et je souhaite la pousser vers GCR. J'ai essayé les étapes ci-dessous.

The push refers to repository [gcr.io/[project-id]/gcloud]
0141ab2d5898: Retrying in 1 second
522a3d37badb: Retrying in 1 second
0b1ee8a19f71: Retrying in 1 second
0cb89ac95352: Retrying in 1 second
c27a33c2a613: Retrying in 2 seconds
1416f891501a: Waiting
2edebac67fd2: Waiting
cff7468ca6ac: Waiting
7d105a69bdfc: Waiting
8607e6c66303: Waiting
dc87e12495f4: Waiting
c3c5e6948ef3: Waiting
5f70bf18a086: Waiting
b2f56e492d5b: Waiting
861512eb6ef5: Waiting
876201329b4b: Waiting
unknown: Token exchange failed for project '[project-id]'. Bad Request.
gcloud auth configure-docker
docker login gcr.io
docker push gcr.io/[project-id]/gcloud:latest

Quelqu'un peut-il suggérer ce problème?


7 commentaires

Essayez de découvrir cette réponse serverfault.com/a/961093


merci, j'ai essayé avant ... mais le problème existe toujours


Le compte que vous utilisez dispose-t-il d'une autorisation d'administrateur de stockage? Et quel est le type d'emplacement de votre artefacts. [Project_id] ... bucket?


Votre système python utilise-t-il python3? J'ai rencontré des problèmes où gcloud ne fonctionne qu'avec python2 et cela apparaît comme une erreur lorsque j'essaie de pousser une image dans docker.


@EmilGi. oui, il a l'autorisation d'administrateur de stockage. comment déterminer le type d'emplacement si le gcr est vide


oui, j'utilise py3 sur mon mac. Souhaitez-vous publier votre erreur ici?


Vérifiez les politiques de votre organisation. Il se peut que vous ne soyez pas autorisé à créer des buckets multirégionaux dans GCS. Lorsqu'il est poussé vers GCR, il essaie de créer un tel seau et échoue s'il n'est pas autorisé à le faire. Vérifiez ceci cloud.google.com/container-registry/docs/ …


3 Réponses :


0
votes

Avez-vous essayé gcloud auth activate-service-account [SERVICE_ACCOUNT] à la place de docker login gcr.io

Je pense que c'est un meilleur moyen que la connexion au docker .


1 commentaires

oui, j'ai lié pour activer infra SA au lieu de mon propre compte. Impossible de pousser avec la même erreur.



0
votes

Consultez le guide et vérifiez tout de la section "Avant de commencer".

De plus, vous devez ajouter le nom du registre et le nom de l'image comme balise à votre image. Vous pouvez trouver plus de détails ici et ici .


3 commentaires

Merci pour vos suggestions. J'ai déjà lu ces deux documents ... Mais je ne m’ai pas aidé ... Et j’ai aussi vérifié IAM.


Pourriez-vous mettre à jour votre premier message et y inclure tous les contrôles et résultats? Il semble que vous ayez manqué un petit détail, mais c'est difficile à trouver sans informations supplémentaires.


bien sûr, le fera bientôt



0
votes

J'ai eu le même problème avec la condition préalable ajoutée selon laquelle il n'y avait pas encore d'image existante dans le registre.

Si aucune image n'existe encore, le backend de stockage GCR (un bucket GCS) n'existe pas encore.

Assurez-vous que ce bucket peut être créé par l'utilisateur connecté à gcloud . Dans mon cas, il y avait une politique organisationnelle interdisant les buckets multirégionaux, qui est le type de bucket nécessaire pour GCR.

Vous pouvez vérifier si cela est la cause première de votre problème en accédant aux activités du projet, où vous verrez un échec de création de bucket.


0 commentaires