在Docker群集堆栈中重新启动一个服务

有谁知道是否有一种方法让docker集群重新启动一个服务是堆栈的一部分,而无需重新启动整个堆栈?

查看docker stack文档:

扩展描述

从群组上创build并更新一个组合文件或一个DAB文件

从这篇博客文章中 : docker stack工作方式与docker compose工作人员相似。 这是幂等的 。 如果已经部署了堆栈,则docker stack deploy将只重新启动具有更新的摘要或标记的服务:

码头堆栈进程

根据我的经验,当我再次部署相同的堆栈并更换一个服务时, 只有更新的服务才会重新启动

但是…似乎有一些限制,以考虑到更改(一些报告错误的图像标签 ),所以试一试,看看是否按预期工作。

如果您想确保只有更新了更改的目标服务,也可以使用service update

你也可以参考这个类似的SO QA 。