3

我一直在尝试设计一种使用 Docker Swarm 来管理一堆无头容器的策略——不需要负载均衡器、暴露任何端口或自动缩放。

我唯一想要的是能够更新所有容器(在所有节点上),如果有任何图像被更新。每个运行的容器都需要有一个特定的--hostname.

跑步docker service甚至可行吗?还是我应该只docker run针对特定节点进行正常的定位来指定--hostname我想要的?我什至问的原因docker service是因为它允许您进行更新(如果有更新的图像,则强制更新所有容器)。

还认为 Docker Swarm 可以更轻松地监视所有容器(即从中心位置管理它们)。

我在看的另一个选择是瞭望塔,在运行其中一个容器的每台服务器上运行,作为 swarm 的替代方案。我唯一的问题是它不提供任何编排,用于集中管理。

鉴于这种情况,任何人都知道什么是更好的选择?

4

1 回答 1

2

除了docker service命令之外,Docker swarm 在滚动更新方面没有任何优势,swarm 只为用户提供水平扩展,并在那些称为“服务”的副本前面放置一个负载均衡器,以及其他一些好处,例如复制 docker 事件跨群节点。

docker service --force会按预期工作。

但是,您可能应该同时使用 docker swarm 进行编排和 watchtower 进行滚动更新。

于 2018-10-08T23:45:48.727 回答