2017-04-19 59 views
4

我想使用码头堆栈部署来部署本地节点应用程序。我有一个可怕的时间获得一个良好的工作流程。码头堆栈部署本地图像

我对堆栈部署和与Docker集线器的关系感到困惑。我很高兴不得不在本地构建图像,但推动它是一个问题,因为我的网络速度很慢,图像大小为169MB。

我的问题是,如果我只是在本地构建映像,是否应该由docker stack deploy部署?或者我是否总是必须将新图像发布到码头中心?现在它已发布到私有存储库。

为什么我问? 我试图做一个本地docker build -t myname/myimage:latest,然后重新部署与码头堆栈部署docker-compose.yml引用图像myname/myimage:latest - 但是另一个图像不断从24小时前重新出现,即使我使用docker rmi(一次又一次)在本地删除它。然后服务无法启动,应该在新版本中解决错误。

我只能认为通过堆栈部署部署的容器是基于Docker集线器发布的容器而不是本地镜像。当然,不断出现在docker images中的图像的大小与当前位于码头集线器中的旧图像相匹配,而不是新的。

也许我做错了什么或误解堆栈部署的工作原理?

+2

我猜泊坞窗部署命令只适用于对存储库图像,如果你想运行一个本地的图像,你必须运行码头工人,组成了,it's只是猜测,因为我有同样的问题和这是如何为我工作 –

回答

0

你应该尝试建立当地的形象是这样的:

docker build -t myimage .

,并指其为“MYIMAGE:最新的”在撰写文件,如果你想使用本地图像。

如果要推这个到集线器,然后将其标记为第一

docker tag id_of_myimage my_dockerhub_username/myimage:latest

,然后推动它。

docker push my_dockerhub_username/myimage:latest

+1

它适用于新建,但如果我更新堆栈,我得到此错误:'无法固定图像rsc:最新消化:错误: denied:请求访问资源是被拒绝 未授权:需要验证' - 我试着运行'--with-registry-auth',但在这种情况下没有帮助。 –