参考 https://docs.docker.com/engine/swarm/
Swarm mode overview 群模式概述
Docker 的当前版本包括集群模式, 用于本地管理称为集群的 Docker 引擎集群. 使用 Docker CLI 创建一个集群, 将应用程序服务部署到一个集群, 并管理集群行为.
1. 突出特性:
1) 与 Docker 引擎集成的集群管理 : 使用 Docker 引擎 CLI 创建一组 Docker 引擎的集群, 你可以在其中部署应用程序服务. 你不需要额外的编配软件来创建或管理集群.
2) 去中心化设计: Docker 引擎在运行时处理任何专门化, 而不是在部署时处理节点角色之间的差异. 你可以使用 Docker 引擎部署这两种类型的节点, 即管理器和工作者. 这意味着你可以从单个磁盘映像构建整个集群.
3) 声明式服务模型: Docker 引擎使用声明式方法来让你定义在你应用程序堆栈中各种服务的所需状态. 例如, 你可以描述一个由带着消息队列服务的 web 前端服务和以及数据库后端组成的应用程序.
4) 扩展性: 对于每个服务, 可以声明要运行的任务数量. 当你向上或向下扩展时, 群管理器会通过添加或删除任务来自动适应, 以维护所需的状态.
5) 期望状态协调: 集群管理器节点不断地监视集群状态, 并协调实际状态和你所表达的期望状态之间的任何差异. 例如, 如果你将一个服务设置为运行一个容器的 10 个副本, 而承载其中两个副本的工作机器崩溃, 那么管理器将创建两个新副本来替换崩溃的副本. 群管理器将新副本分配给正在运行和可用的工作人员.
6) 多主机网络: 你可以为你的服务指定覆盖网络. 当集群管理器初始化或更新应用程序时, 它会自动将地址分配给覆盖网络上的容器.
7) 服务发现: 集群管理器节点为集群中的每个服务分配唯一的 DNS 名称和运行容器的负载平衡. 你可以通过集群中嵌入的 DNS 服务器查询集群中运行的每个容器.
8) 负载平衡: 你可以将服务的端口公开给外部负载平衡器. 在内部, swarm 允许你指定如何在节点之间分发服务容器.
9) 默认情况下是安全的: 集群中的每个节点强制 TLS 相互身份验证和加密, 以保护自身与所有其他节点之间的通信. 你可以选择使用自签名的根证书或自定义根 CA 中的证书.
10) 滚动更新: 在滚动时, 你可以增量地向节点应用服务更新. 集群管理器允许你控制服务部署到不同节点集之间的延迟. 如果出现错误, 可以将任务回滚到服务的上一个版本.
来源: http://www.bubuko.com/infodetail-2915319.html