docker堆栈部署是否与本地映像一起使用

Ric*_*d G 8 docker

我正在尝试使用docker stack deploy来部署本地节点应用程序.我正在度过一个很好的工作流程.

我对堆栈部署和与docker hub的关系感到困惑.我很高兴必须在本地构建映像,但推送它是一个问题,因为我的网络速度很慢,图像为169MB.

我的问题是,如果我只是在本地构建映像,那么它是否应该由docker堆栈部署部署?或者我是否总是要将新图像发布到docker hub?nb目前已发布到私人存储库.

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

我只能认为堆栈部署部署的容器是基于在docker hub中发布的容器而不是本地映像.当然,保持显示的图像大小docker images与当前在docker hub中的旧图像匹配,而不是新图像.

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

Akk*_*kki 5

您应该尝试通过以下方式构建本地映像:

docker build -t myimage 。

如果您想使用本地图像,请将其在撰写文件中引用为“myimage:latest”。

如果您想将其推送到集线器,请先标记它

docker 标签 id_of_myimage my_dockerhub_username/myimage:latest

然后推它。

docker Push my_dockerhub_username/myimage:最新