设置教程(引擎) | Set up for the tutorial (Engine)
开始使用群模式
本教程将向您介绍Docker Engine Swarm模式的功能。在开始之前,您可能想熟悉一下关键概念。
本教程将指导您完成以下活动:
- 以群集模式初始化Docker引擎群集
- 向群中添加节点
- 将应用服务部署到群中
- 一旦你运行了全部,管理群
本教程使用在终端窗口的命令行中输入的Docker Engine CLI命令。您应该能够在网络机器上安装Docker,并且能够在您选择的外壳中运行命令。
如果您是Docker的全新用户,请参阅关于Docker Engine。
设置
要运行本教程,您需要以下内容:
- 安装了Docker的三台Linux主机,它们可以通过网络进行通信
- Docker引擎1.12或更高版本安装
- 管理器机器的IP地址
- 打开主机之间的端口
三台联网主机
本教程需要三台安装了Docker并可通过网络进行通信的Linux主机。这些可以是物理机器,虚拟机,Amazon EC2实例或以其他方式托管。您甚至可以使用Linux,Mac或Windows主机上的Docker Machine。检查入门 - Swarms为主机设置一个可能的设置。
其中一台机器将成为经理(称为manager1
),其中两人将成为工人(worker1
和worker2
)。
注意
:您也可以按照许多教程步骤来测试单节点群,在这种情况下,您只需要一台主机。多节点命令不起作用,但您可以初始化群集,创建服务并对其进行扩展。
Docker引擎1.12或更新版本
本教程需要在每台主机上安装Docker Engine 1.12或更高版本。安装Docker Engine并验证Docker Engine守护进程正在每台机器上运行。您可以按照以下方式获取最新版本的Docker Engine:
- 在Linux机器上安装Docker引擎
- Mac使用Docker或Windows使用Docker
在Linux机器上安装Docker引擎
如果您使用基于Linux的物理计算机或云提供的计算机作为主机,只需按照适用于您的平台的Linux安装说明进行操作即可。旋转三台机器,你就准备好了。您可以在Linux机器上测试单节点和多节点swarm场景。
Mac使用Docker或Windows使用Docker
或者,在一台计算机上安装最新的Docker for Mac或Docker for Windows应用程序。您可以从这台计算机上测试单节点和多节点群集,但是您需要使用Docker Machine来测试多节点场景。
- 您可以使用Docker for Mac或Windows来测试群集模式的
单节点
功能,包括使用单节点
初始化群集,创建服务以及扩展服务。Hyperkit(Mac)或Hyper-V(Windows)上的Docker“Moby”将作为单个群集节点。
- 目前,您无法单独使用Docker for Mac或Windows来测试
多节点
群。但是,您可以使用随附的Docker Machine版本创建swarm节点(请参阅Docker Machine入门和本地VM),然后按照教程了解所有多节点
功能。对于这种情况,您从一个码头工人的Mac或码头的Windows主机的命令,但码头工人主机本身不
参与群(即,它不
会manager1
,worker1
或worker2
在我们的例子)。创建节点后,可以运行Mac终端或Windows PowerShell中显示的所有swarm命令,其中Docker for Mac或Docker for Windows正在运行。
管理机的IP地址
IP地址必须分配给主机操作系统可用的网络接口。群中的所有节点必须能够通过IP地址访问管理器。
由于其他节点通过其IP地址联系管理器节点,因此应使用固定的IP地址。
您可以ifconfig
在Linux或macOS上运行以查看可用网络接口的列表。
如果您使用的是Docker Machine,则可以使用docker-machine ls或者docker-machine ip <MACHINE-NAME>- 例如,来获取管理器IP docker-machine ip manager1。
本教程使用manager1
:192.168.99.100
。
在主机之间打开协议和端口
以下端口必须可用。在某些系统上,这些端口默认打开。
TCP端口2377
用于集群管理通信
tcp
和UDP端口7946
用于节点间的通信
UDP端口4789
用于覆盖网络流量
如果您计划使用encryption(--opt encrypted
)创建覆盖网络,则还需要确保允许ip协议50
(ESP
)通信。
接下来是什么?
设置完环境后,即可创建群集。