Difficulty: Beginner
Estimated Time: 10 minutes

此範例將上個練習 Docker Compose for MySQL Cluster & WordPress ,改成 Docker new Swarm 方式,部署到多台伺服器,與前面練習相同,再配合 WordPress,達到動態配置和負載平衡的分散式架構,延伸 Docker-Compose & Service Discovery 課程,練習使用 docker swarm 及 docker service 等等新版指令,可動態擴展服務,訓練未來>實際營運環境之使用經驗。

此示範將上一個只適用於開發測試環境的範例,使用 Docker Swarm 容器協同運作管理工具,部署到多台虛擬主機上。

亦善用這 overlay 層疊網路,很輕鬆就可配置出可動態擴展的架構,並且無須額外設定,即可達到動態配置和負載平衡。

各位可嘗試將投票微服務範例改成 Swarm 服務,而目前 Docker Compose 定義檔部署到 Swarm Cluster,需先轉成 Distributed Application Bundles(DAB) 檔案格式,且仍處於實驗階段。不過 Docker Compose 已經可以產生出 DAB 檔案, docker-compose bundle -h

Docker Swarm for MySQL Cluster & WordPress

Step 1 of 4

New Swarm Mode Cluster

##建立 Swarm 叢集 先確認版本是否為 1.12?! docker -v ,看一下這新 Swarm Mode 有哪些指令。 docker swarm --help

接下來,初始化 Docker Swarm ,執行 docker swarm init 。 便會出現 Docker swarm join 的 Manager Token 和 Worker Token ,請先複製下來,在另一台伺服器加入叢集時需用到。

請選擇加入成為 Manager 或 Worker 的 Token:

Manager - token=$(docker -H [[HOST_IP]]:2345 swarm join-token -q manager) && echo $token

Worker - token=$(docker -H [[HOST_IP]]:2345 swarm join-token -q worker) && echo $token

加入到 Docker Swarm 叢集, docker swarm join [[HOST_IP]]:2377 --token $token

叢集節點相關指令說明,docker node -h, 列出所有節點 docker node ls

Terminal Host 2