docker swarm 是一個用於建立Docker主機(運行Docker守護進程的服務器)集羣的工具,它是docker原生的集羣管理工具。使用Swarm操做集羣,會使用戶感受就像是在一臺主機上進行操做。它使用標準的docker API,這意味着其餘使用Docker API的工具好比compose一樣也能使用swarm。 ##基本架構 swarm的基本架構很簡單,它只是一個分配與調度器,大致上分爲四種結構:node
** 說明:**前兩種模式都不須要在docker主機上安裝任何代理軟件,只須要在swarm管理機中指定docker主機和端口號便可,discovery模式須要在每一個主機上運行一個swarm代理(也就是swarm join),一個主機運行swarm管理器(也就是swarm manage)。git
本次實驗爲了簡化複雜度,也是爲了更快地對swarm有個直觀的瞭解,咱們採用swarm的節點模式。github
** 機器分配 **docker
IP----------------角色shell
192.168.0.201 Docker主機服務器
192.168.0.202 Docker主機架構
192.168.0.203 Swarm管理機tcp
** 第一步 **工具
把全部docker主機上的監聽模式都改成端口監聽方式,能夠在配置文件中增長以下配置:代理
DOCKER_OPTS=" -H tcp://0.0.0.0:2375 "
重啓docker。
** 第二步 **
我並無採用官方給出的使用容器的方式,而是從GITHUB上下載的源碼編譯安裝的,也就是說192.168.0.203主機上沒有任何docker運行環境,純粹地一臺應用服務器。 在swarm管理機上啓動swarm管理,命令以下:
swarm manage nodes://192.168.0.201:2375,192.168.0.202:2375 -H 192.168.0.203:2375
這樣整個swarm集羣就已經搭起來了。 訪問時,只須要在任何一臺安裝了docker的客戶機上執行以下的命令:
docker -H 192.168.0.203:2375 info
便可看到集羣的狀態。