Overview
Docker Swarm 是 Docker 原生的集群管理和編排工具。它允許 I在多台機器上建立和管理 Docker 容器集群。以下是 Docker Swarm 的一些主要特點:
- 分散式設計:Swarm 使用分散式架構,提高了系統的可靠性和擴展性。
- 聲明式服務模型:使用者可以聲明所需的應用狀態,Swarm 會維護這個狀態。
- 擴展性:可以輕鬆地增加或減少服務實例數量。
- 負載平衡:內建負載平衡功能,自動在節點間分配流量。
- 滾動更新:支持服務的無縫更新,減少停機時間。
- 安全性:節點間通信採用 TLS 加密,提供認證和授權機制。
Docker Swarm 簡化了容器化應用的部署和管理,特別適合需要高可用性和可擴展性的環境。它與 Docker 生態系統緊密集成,對於已經使用 Docker 的團隊來說,學習曲線相對較低。
基本架構

- Swam Manager : 負責管理和協調整個 Swarm 集群。主要職責包括:
- 維護集群狀態:追蹤所有節點和服務的狀態。
- 調度服務:決定在哪些節點上運行容器。
- 服務發現:管理服務的 DNS 記錄,實現負載平衡。
- 處理 API 請求:接收和處理來自客戶端的命令。
- 確保高可用性:通過複製管理器節點來保證集群的穩定性。
- Swarm Worker / Node : 執行容器和服務的節點。主要職責包括:
- 運行容器:按照 Swarm Manager 的指示啟動和管理容器。
- 報告狀態:定期向 Manager 報告自身狀態和所運行容器的狀態。
- 加入或離開集群:可以動態地加入或離開 Swarm 集群。
- 執行健康檢查:監控容器的健康狀態,必要時重啟或報告問題。
Worker Node 負責實際執行工作負載,而 Manager 則負責協調和管理整個集群。這種分工使得 Swarm 能夠高效地管理大規模的容器部署。
操作流程
- 在要當 Manager 的主機上使用
docker swarm init
建立集群
- 建立後會出現
docker swarm join
命令,複製下來
- 在要加入的主機使用複製的命令加入集群
注意事項
docker swarm
不可以構建 image ,因為 docker swarm 推薦使用在生產環境