2017-02-22 28 views
4

我建立了由三名工人和一名经理组成的码头群集群。我想使用自定义的Dockerfile从图像版本启动三名工作人员的容器。 进行节点的登记正确经理:Docker swarm无法在创建服务时创建图像以进行消化

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失败,其他人恰好正确,图像按预期工作。它从哪里来,我该如何解决这个问题?

+0

Docker版本? – gile

+1

检查--with-registry-auth选项是否为您完成这项工作。如果您使用私有存储库或某些私有存储库,则必须传递认证信息。 – YuKYuK

+0

@gile Docker版本1.13.1,版本092cba3 –

回答

3

好吧,我的坏。我认为经理会以某种方式将图像发送到其他节点,但它并不明显。由于某种原因,工人2和3有一个图像的副本,所以他们可以找到它,但不是工人1 ...

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

+0

是的。看看https://github.com/docker/docker/pull/28173 – gile