Docker Swarm 一般分為兩個角色 Manager 與 Worker,兩者主要工作如下:
Manager:
負責管理節點,並派發任務給 Worker 的 Container,本身也具備 Worker 的功能,也可以只做節點管理
Worker:
接收來自 Manager 的任務,負責運作容器,完成後匯報回 Manager
Manager 會透過 Raft Consensus Algorithm 機制在節點主機之間互相通訊,同時負責維護Orchestration Service、Cluster Management、Service Swarm Mode HTTP API Endpoints等等資源調度服務。
當管理人員執行「docker service create」指令後,會在Docker Swarm叢集中建立「容器服務」,接著依據Docker指令所設定的「複本」(Replica)數量,決定要在Docker Swarm叢集中建立多少的「任務及容器」