docker-swarm初探

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
本文转自激情燃烧的岁月博客51CTO博客,原文链接http://blog.51cto.com/liuzhengwei521/1898318如需转载请自行联系原作者

weilovepan520