docker服务更新:“无法在registry上访问图像以logging它的摘要”

我在Amazon的Elastic Container Registry(ECR)上有一个图像,我想在Docker单节点群中将其作为Docker服务进行部署。 目前该服务正在运行图像latest标签的旧版本,但是我已经将latest版本的latest标签上传到了ECR。

运行docker service update --force my_service在我的群集节点上使用映像XXXXXXXXXXXX.dkr.ecr.us-east-1.amazonaws.com/my_service:latest运行docker service update --force my_service ,导致:

image XXXXXXXXXXXX.dkr.ecr.us-east-1.amazonaws.com/my_service:latest could not be accessed on a registry to record its digest. Each node will access XXXXXXXXXXXX.dkr.ecr.us-east-1.amazonaws.com/my_service:latest independently, possibly leading to different nodes running different versions of the image.

这似乎阻止节点从registry中拉取latest标记的新副本,并且正确更新该服务。

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

为什么docker service update无法从ECRregistry读取摘要,尽pipe图像可用?

我有同样的问题,但我解决了--with-registry-auth 。 在使用docker login ,是否可以使用--with-registry-auth确认相同的更新命令?

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