web-dev-qa-db-fra.com

Mise à jour du service Docker: "Impossible d'accéder à l'image sur un registre pour enregistrer son résumé"

J'ai une image sur le registre Elastic Container Registry (ECR) d'Amazon que je souhaite déployer en tant que service Docker dans mon essaim Docker à nœud unique. Actuellement, le service exécute une ancienne version de la balise latest de l'image, mais j'ai depuis téléchargé une version plus récente de la balise latest sur ECR.

Fonctionnement docker service update --force my_service sur mon nœud swarm, qui utilise l'image XXXXXXXXXXXX.dkr.ecr.us-east-1.amazonaws.com/my_service:latest, résulte en:

image XXXXXXXXXXXX.dkr.ecr.us-east-1.amazonaws.com/my_service:latest n'a pas pu être consulté sur un registre pour enregistrer son résumé. Chaque nœud accédera à XXXXXXXXXXXX.dkr.ecr.us-east-1.amazonaws.com/my_service:latest indépendamment, ce qui conduira éventuellement à différents nœuds exécutant différentes versions de l'image.

Cela semble empêcher le nœud d'extraire une nouvelle copie de la balise latest du Registre et le service de mise à jour correctement.

Je suis correctement connecté avec docker login vers ECR et exécutant docker pull XXXXXXXXXXXX.dkr.ecr.us-east-1.amazonaws.com/my_service:latest fonctionne bien (et renvoie un résumé).

Pourquoi est-ce docker service update impossible de lire le résumé du registre ECR malgré la disponibilité de l'image?

22
David Elner

J'ai eu le même problème, mais je l'ai résolu en utilisant --with-registry-auth. Après vous être connecté avec docker login, pouvez-vous confirmer la même commande de mise à jour avec --with-registry-auth?

https://github.com/moby/moby/issues/34153#issuecomment-316047924

31
Akira Fukushima