Docker Swarm 用于管理无头容器并保持更新(或瞭望塔?)

问题描述 投票:0回答:1

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

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

--hostname

跑步

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

还认为 Docker Swarm 会让监视所有容器变得更容易(即从中央位置管理它们)。

我正在考虑的另一个选项是 watchtower,在运行其中一个容器的每台服务器上运行,作为 swarm 的替代方案。我唯一的问题是它不提供任何编排,以进行集中管理。

在这种情况下,有人知道什么是更好的选择吗?

docker docker-swarm headless docker-watchtower
1个回答
2
投票

除了

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

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

但是,您可能应该同时使用 docker swarm 进行编排,并使用了望塔进行滚动更新。

© www.soinside.com 2019 - 2024. All rights reserved.