Swarm mode overview

预计阅读时间:3分钟

要在 swarm 模式下使用 Docker,请安装 Docker. 请参阅所有操作系统和平台的安装说明.

当前版本的 Docker 包括swarm 模式,用于本地管理称为swarm的 Docker 引擎集群. 使用 Docker CLI 创建 swarm,将应用程序服务部署到 swarm,并管理 swarm 行为.

Docker Swarm 模式内置于 Docker 引擎中. 不要将 Docker Swarm 模式与不再积极开发的Docker Classic Swarm混淆.

Feature highlights

  • 与 Docker 引擎集成的集群管理:使用 Docker 引擎 CLI 创建一组 Docker 引擎,您可以在其中部署应用程序服务. 您不需要额外的编排软件来创建或管理集群.

  • 分散式设计: Docker 引擎不是在部署时处理节点角色之间的差异,而是在运行时处理任何专业化. 您可以使用 Docker 引擎部署两种类型的节点、管理器和工作器. 这意味着您可以从单个磁盘映像构建整个集群.

  • 声明式服务模型: Docker Engine 使用声明式方法让您定义应用程序堆栈中各种服务的所需状态. 例如,您可能会描述一个应用程序,该应用程序由一个带有消息队列服务的 Web 前端服务和一个数据库后端组成.

  • 缩放:对于每个服务,您可以声明要运行的任务数量. 当您扩大或缩小规模时,swarm manager 通过添加或删除任务来自动适应以保持所需的状态.

  • 所需状态协调: swarm manager 节点不断监控集群状态并协调实际状态与您表达的所需状态之间的任何差异. 例如,如果您设置一个服务来运行一个容器的 10 个副本,并且托管其中两个副本的工作机器崩溃,则管理器会创建两个新副本来替换崩溃的副本. swarm manager 将新副本分配给正在运行且可用的工作人员.

  • 多主机网络:您可以为您的服务指定覆盖网络. swarm manager 在初始化或更新应用程序时自动为覆盖网络上的容器分配地址.

  • 服务发现: Swarm 管理器节点为 swarm 中的每个服务分配一个唯一的 DNS 名称,并对运行的容器进行负载平衡. 您可以通过嵌入在 swarm 中的 DNS 服务器查询在 swarm 中运行的每个容器.

  • 负载平衡:您可以将服务的端口公开给外部负载平衡器. 在内部,swarm 允许您指定如何在节点之间分发服务容器.

  • 默认安全: swarm 中的每个节点都强制执行 TLS 相互身份验证和加密,以保护自身与所有其他节点之间的通信. 您可以选择使用自签名根证书或来自自定义根 CA 的证书.

  • 滚动更新:在推出时,您可以增量地将服务更新应用到节点. swarm manager 让您可以控制服务部署到不同节点集之间的延迟. 如果出现任何问题,您可以回滚到该服务的先前版本.

What’s next?

Swarm mode key concepts and tutorial

Swarm mode CLI commands

探索 swarm 模式 CLI 命令

docker, container, cluster, swarm

by  icopy.site