Docker swarm,无法在创建服务时锁定要消化的图像

Docker swarm,无法在创建服务时锁定要消化的图像,docker,docker-swarm,Docker,Docker Swarm,我建立了一个docker swarm集群,由三名工人和一名经理组成。我想使用自定义Dockerfile在图像构建中的三个Worker上启动一个容器。 节点已正确注册到管理器: docker node ls ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS 0viqhgcdwul2vhvmgxbv31eg0 worker1 Ready Active mabikwr5u

我建立了一个docker swarm集群,由三名工人和一名经理组成。我想使用自定义Dockerfile在图像构建中的三个Worker上启动一个容器。 节点已正确注册到管理器:

docker node ls
ID                           HOSTNAME  STATUS  AVAILABILITY  MANAGER STATUS
0viqhgcdwul2vhvmgxbv31eg0    worker1   Ready   Active        
mabikwr5ufwa7lv8xk0liyqbd    worker3   Ready   Active        
s1m1qiarlyfgtljghgomcztlb    worker2   Ready   Active        
tqp7m2ohzvgqc9c60aex4x9u5 *  manager   Ready   Drain         Leader
但当我执行以下命令时

docker service create --replicas 3 -p 8080:8080 --name myService myImage
worker1不执行容器,我收到以下错误:

unable to pin image myImage to digest: errors:
denied: requested access to the resource is denied
unauthorized: authentication required

失败的总是worker1,其他的都是正确的,映像在它们身上按预期工作。它来自哪里?我如何解决这个问题?

好的,我的错。我以为管理器会以某种方式将图像发送到其他节点,但显然不是这样。出于某种原因,worker 2和worker 3有一份图像的副本,这样他们就可以找到它,但worker 1却找不到


无论如何,感谢您的回答。

Docker版本?检查是否--使用注册表验证选项为您完成此工作。如果您使用私有存储库或私有存储库上的某些内容,则必须传递身份验证信息。@gile Docker 1.13.1版,build 092cba3