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?
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