docker swarm mode
集群模式入门
预计阅读时间:3分钟
本教程向您介绍 Docker Engine Swarm 模式的功能。在开始之前,您可能需要熟悉关键概念 。
本教程将指导您完成以下活动:
- 以 swarm 模式初始化 Docker 引擎集群
- 向 swarm 添加节点
- 将应用服务部署到 swarm
- 一切就绪后管理群
本教程使用在终端窗口的命令行中输入的 Docker Engine CLI 命令。
如果您是 Docker 新手,请参阅关于 Docker 引擎。
设置
要运行本教程,您需要以下内容:
三台联网主机
本教程需要三台安装了 Docker 并且可以通过网络进行通信的 Linux 主机。这些可以是物理机、虚拟机、Amazon EC2 实例或以其他方式托管。查看 入门 - Swarms 了解主机的一种可能设置。
其中一台机器是经理(称为manager1
),其中两台是工人(worker1
和worker2
)。
注意:您也可以按照教程中的许多步骤来测试单节点集群,在这种情况下,您只需要一台主机。多节点命令不起作用,但您可以初始化 swarm、创建服务和扩展它们。
在 Linux 机器上安装 Docker 引擎
如果您使用基于 Linux 的物理计算机或云提供的计算机作为主机,只需按照 您的平台的Linux 安装说明进行操作。启动三台机器,你就准备好了。您可以在 Linux 机器上测试单节点和多节点集群场景。
使用 Docker Desktop for Mac 或 Docker Desktop for Windows
或者,在一台计算机上安装最新的Docker Desktop for Mac或 Docker Desktop for Windows应用程序。您可以从这台计算机测试单节点和多节点集群。
- 您可以使用 Docker Desktop for Mac 或 Windows 来测试swarm 模式的单节点功能,包括使用单节点初始化 swarm、创建服务和扩展服务。
- 目前,您不能单独使用 Docker Desktop for Mac 或 Docker Desktop for Windows 来测试多节点 Swarm,但许多示例适用于单节点 Swarm 设置。
manager机器的IP地址
IP 地址必须分配给主机操作系统可用的网络接口。swarm 中的所有节点都需要连接到该 IP 地址的管理器。
由于其他节点通过其 IP 地址联系管理节点,因此您应该使用固定 IP 地址。
您可以ifconfig
在 Linux 或 macOS 上运行以查看可用网络接口的列表。
本教程使用manager1
:192.168.99.100
.
主机之间的开放协议和端口
以下端口必须可用。在某些系统上,这些端口默认是打开的。
- 用于集群管理通信的TCP 端口 2377
- TCP和UDP 端口 7946用于节点之间的通信
- 覆盖网络流量的UDP 端口 4789
如果您计划使用加密 ( ) 创建覆盖网络--opt encrypted
,则还需要确保允许ip 协议 50 ( ESP ) 流量。