首先 能夠用ContOS虛擬機 克隆 5個虛擬機,注意(克隆主機必須裝了Docker,克隆後,克隆機都會有Docker)node
配置 網絡web
克隆CentOS虛擬機 docker
最後和到以下結果網絡
打開2377端口 tcp
firewall-cmd --zone=public --add-port=2377/tcp --permanentui
重啓防火牆spa
firewall-cmd --reload.net
而後進入CentOS 7 64位3d
初始化 Swarmcode
sudo docker swarm init --advertise-addr 192.168.0.102:2377 --listen-addr 192.168.0.102:2377
A: (初始化後Swarm後能夠經過 docker swarm join-token worker 查看Swarm的Token信息 )
上圖下箭頭便是添加功能節點命令,代碼以下:
sudo docker swarm join --token SWMTKN-1-1fmeankvtj5x8483gsxuhgwvhrdt2yt6japzopemjcucv8ykit-4xj0shobna3bu2u1tk377z2ch 192.168.0.102:2377 --advertise-addr 192.168.0.105:2377 --listen-addr 192.168.0.105:2377
B: 查看添管理能節點命令
docker swarm join-token manager
上圖下箭頭便是添加管理節點命令 (注意 先關閉添加管理節點機器的防火牆,否則可能不成功),代碼以下:
sudo docker swarm join --token SWMTKN-1-1fmeankvtj5x8483gsxuhgwvhrdt2yt6japzopemjcucv8ykit-4xj0shobna3bu2u1tk377z2ch 192.168.0.102:2377 --advertise-addr 192.168.0.104:2377 --listen-addr 192.168.0.104:2377
能夠經過Docker info查看相關信息
添加管理節點 (注意 先關閉104的
防火牆,否則可能不成功)
先登入另外一臺虛擬機
關閉防火牆
systemctl stop firewalld
添加管理節點
sudo docker swarm join --token SWMTKN-1-1fmeankvtj5x8483gsxuhgwvhrdt2yt6japzopemjcucv8ykit-4xj0shobna3bu2u1tk377z2ch 192.168.0.102:2377 --advertise-addr 192.168.0.104:2377 --listen-addr 192.168.0.104:2377
添加功能節點
sudo docker swarm join --token SWMTKN-1-1fmeankvtj5x8483gsxuhgwvhrdt2yt6japzopemjcucv8ykit-4xj0shobna3bu2u1tk377z2ch 192.168.0.102:2377 --advertise-addr 192.168.0.105:2377 --listen-addr 192.168.0.105:2377
建立Swarm Service
這裏的five是我用.net Core建立的Image,如今我要用這個境像建立5個Swarm Servie容器
sudo docker service create --name myfiveweb -p 8080:5000 --replicas 5 five
查看Swarm Service 運行狀況
docker service ls
詳情
docker service ps myfiveweb
查看Docker 節點信息
docker node ls
若是報 docker node ls錯:
Error response from daemon: rpc error: code = Unknown desc = The swarm does not have a leader. It's possible that too few managers are online. Make sure more than half of the managers are online.
解決方法:
docker swarm init --force-new-cluster
提高爲管理節點命令
sudo docker node promote fhdpncl3ay8vl5ogmbdh42ia8
將管理節點降級
docker node demote 0nbt 降級
刪了節點
先在節點機器上執行
sudo docker swarm leave --force
而後再Swarm主管理機上執行
docker node rm ablwad6b 刪除