docker 服务创建未找到图像
docker service create doesn't find image
当我 运行 docker service create --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 那么它工作正常。
除了在 swarm 中的每个节点上拉取映像之外,是否有解决此问题的方法?
其实答案很简单。使用 --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!
的朋友们的帮助
当我 运行 docker service create --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 那么它工作正常。
除了在 swarm 中的每个节点上拉取映像之外,是否有解决此问题的方法?
其实答案很简单。使用 --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!
的朋友们的帮助