docker-swarm介绍:
.Docker集群管理工具
.多个Docker物理主机抽象成一个单一的虚拟主机
.支持标准Docker API
docker-swarm官方介绍:
https://docs.docker.com/swarm/plan-for-production/
服务器列表:
A:10.0.22.245:做为管理节点
B:10.0.22.232:node1
C:10.0.22.244:node2
分别给A,B,C节点安装swarm
#docker pull swarm
生成集群token:
因为要把所有节点通过这个token建立集群关系
只在一个节点生成token即可
1 2 | [root@swarm-manager ~] # docker run --rm swarm create c311f3cf727f39ed8bfa31f5592b0050 |
添加A,B,C到集群中:
A:docker run -d swarm join --addr=10.0.22.245:2375 token://c311f3cf727f39ed8bfa31f5592b0050
B:docker run -d swarm join --addr=10.0.22.232:2375 token://c311f3cf727f39ed8bfa31f5592b0050
C:docker run -d swarm join --addr=10.0.22.244:2375 token://c311f3cf727f39ed8bfa31f5592b0050
列出集群中的节点:
1 2 3 4 | [root@swarm-manager ~] # docker run --rm swarm list token://c311f3cf727f39ed8bfa31f5592b0050 10.0.22.245:2375 10.0.22.244:2375 10.0.22.232:2375 |
把A节点设置为管理节点:
1 2 | [root@swarm-node-2 ~] # docker run -d -p 8888:2375 swarm manage token://c311f3cf727f39ed8bfa31f5592b0050 2518dc773769d604a3aa03c366d9e1329c8bea0f6a632c5d1922ed6376a65731 |
在A节点上查看B,C节点:
1 2 3 | #docker -H 10.0.22.245:8888 info //查看集群状态 #docker -H 10.0.22.245:8888 ps //查看集群中所有运行的容器 ... |
通过A节点在其它节点上运行容器:
1 2 3 | #docker -H 10.0.22.245:8888 run -d --name web1 nginx #docker -H 10.0.22.245:8888 run -d --name web2 nginx #docker -H 10.0.22.245:8888 run -d --name web3 nginx |
weilovepan520