?
This document uses PHP Chinese website manual Release
本教程將向您介紹Docker Engine Swarm模式的功能。在開始之前,您可能想熟悉一下關鍵概念。
本教程將指導您完成以下活動:
以群集模式初始化Docker引擎群集
向群中添加節(jié)點
將應用服務部署到群中
一旦你運行了全部,管理群
本教程使用在終端窗口的命令行中輸入的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
)。
注意:您也可以按照許多教程步驟來測試單節(jié)點群,在這種情況下,您只需要一臺主機。多節(jié)點命令不起作用,但您可以初始化群集,創(chuàng)建服務并對其進行擴展。
本教程需要在每臺主機上安裝Docker Engine 1.12或更高版本。安裝Docker Engine并驗證Docker Engine守護進程正在每臺機器上運行。您可以按照以下方式獲取最新版本的Docker Engine:
在Linux機器上安裝Docker引擎
Mac使用Docker或Windows使用Docker
如果您使用基于Linux的物理計算機或云提供的計算機作為主機,只需按照適用于您的平臺的Linux安裝說明進行操作即可。旋轉三臺機器,你就準備好了。您可以在Linux機器上測試單節(jié)點和多節(jié)點swarm場景。
或者,在一臺計算機上安裝最新的Docker for Mac或Docker for Windows應用程序。您可以從這臺計算機上測試單節(jié)點和多節(jié)點群集,但是您需要使用Docker Machine來測試多節(jié)點場景。
您可以使用Docker for Mac或Windows來測試群集模式的單節(jié)點功能,包括使用單節(jié)點初始化群集,創(chuàng)建服務以及擴展服務。Hyperkit(Mac)或Hyper-V(Windows)上的Docker“Moby”將作為單個群集節(jié)點。
目前,您無法單獨使用Docker for Mac或Windows來測試多節(jié)點群。但是,您可以使用隨附的Docker Machine版本創(chuàng)建swarm節(jié)點(請參閱Docker Machine入門和本地VM),然后按照教程了解所有多節(jié)點功能。對于這種情況,您從一個碼頭工人的Mac或碼頭的Windows主機的命令,但碼頭工人主機本身不參與群(即,它不會manager1
,worker1
或worker2
在我們的例子)。創(chuàng)建節(jié)點后,可以運行Mac終端或Windows PowerShell中顯示的所有swarm命令,其中Docker for Mac或Docker for Windows正在運行。
IP地址必須分配給主機操作系統(tǒng)可用的網絡接口。群中的所有節(jié)點必須能夠通過IP地址訪問管理器。
由于其他節(jié)點通過其IP地址聯系管理器節(jié)點,因此應使用固定的IP地址。
您可以ifconfig
在Linux或macOS上運行以查看可用網絡接口的列表。
如果您使用的是Docker Machine,則可以使用docker-machine ls
或者docker-machine ip <MACHINE-NAME>
- 例如,來獲取管理器IP docker-machine ip manager1
。
本教程使用manager1
:192.168.99.100
。
以下端口必須可用。在某些系統(tǒng)上,這些端口默認打開。
TCP端口2377用于集群管理通信
tcp和UDP端口7946用于節(jié)點間的通信
UDP端口4789用于覆蓋網絡流量
如果您計劃使用encryption(--opt encrypted
)創(chuàng)建覆蓋網絡,則還需要確保允許ip協議50(ESP)通信。