docker service create找不到图像

时间:2016-08-11 14:23:55

标签: docker docker-swarm

当我运行docker service创建--mode global foo myrepo / foo-img:0.1时,它的工作原理是启动服务,但如果群中的节点上不存在foo-img:0.1,则该节点发出以下错误:

<containerid>   \_ foo    myrepo/foo:0.1  <snip>  "No such image: myrepo/foo-img:0.1"

如果我在每个节点上拉myrepo / foo-img:0.1,那么它可以正常工作。

除了在群组中的每个节点上拉图像外,是否有解决方法?

1 个答案:

答案 0 :(得分:7)

答案其实非常简单。使用--with-registry-auth参数。此参数使用与当前会话相同的身份验证。所以,简单地说:

# docker login -u xxx -pass yyy https://myrepo.com
# service create --with-registry-auth foo myrepo.com/foo-img:0.1

假设您已成功登录,服务将根据需要将映像从存储库提取到每个节点。不确定幕后发生了什么,但它适用于部署到群集中当前的所有节点!感谢github / docker的帮助!