问题 docker service update:“无法在注册表上访问图像以记录它的摘要”


我在亚马逊的弹性容器注册表(ECR)上有一个图像,我希望在我的Docker单节点群中部署为Docker服务。目前该服务正在运行旧版本的图像 latest 标签,但我已经上传了更新版本的 latest 标记为ECR。

运行 docker service update --force my_service 在我的swarm节点上,它使用image XXXXXXXXXXXX.dkr.ecr.us-east-1.amazonaws.com/my_service:latest, 结果是:

无法在注册表上访问XXXXXXXXXXXX.dkr.ecr.us-east-1.amazonaws.com/my_service:latest以记录其摘要。每个节点将独立访问XXXXXXXXXXXX.dkr.ecr.us-east-1.amazonaws.com/my_service:latest,   可能导致不同的节点运行不同版本的图像。

这似乎阻止节点拉出新的副本 latest 来自注册表的标记,以及正确更新的服务。

我已正确登录了 docker login 到ECR,并运行 docker pull XXXXXXXXXXXX.dkr.ecr.us-east-1.amazonaws.com/my_service:latest 工作正常(并返回一个摘要)。

为什么是 docker service update 尽管图像可用,但无法从ECR注册表中读取摘要?


11813
2018-05-31 01:08


起源

我在运行时似乎遇到了同样的错误:“docker service update --with-registry-auth --image example.com/group/myimage:X.Y.Z mystack_myservice”。我运行码头17.05。我在运行命令之前(在管理器节点上)登录了gitlab容器注册表,因此访问注册表时不会有任何问题。错误:“错误:无法在注册表上访问图像example.com/group/myimage:X.Y.Z以记录其摘要。” - Snorre
我的问题原来是我使用了错误的图像标签(版本部分)。只要我登录并使用--with-registry-auth参数就可以了。 - Snorre


答案:


我有同样的问题,但我通过使用解决了它 --with-registry-auth。 登录后 docker login,你可以确认相同的更新命令 --with-registry-auth

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


13
2017-08-11 13:13



解决了它...谢谢。 - Ezekiel Victor
在nexus服务器上对我不起作用 - Archimedes Trajano