swarm 生产环境集群安装
规划:manager 192.168.1.72/73/74
consul 192.168.1.72/73/74
leader 192.168.1.74
node 192.168.1.70/71
1、安装discovery 使用consul
第一台(74)
|
1
|
docker run --net=host --name=consul progrium
/consul
-server -bootstrap -ui-
dir
=
/ui
-advertise 192.168.1.74
|
端口说明:
http 8500
rpc 8400
wan 8302
lan 8301
通信 8300
advertise 指定监听ip,如果不写外网ip,会默认监听内网
剩下2台
|
1
2
|
docker run --net=host --name=consul progrium
/consul
-server -
join
192.168.1.74 -advertise 192.168.1.73
docker run --net=host --name=consul progrium
/consul
-server -
join
192.168.1.74 -advertise 192.168.1.72
|
2、安装swarm manager
第一台(74)
|
1
|
docker run -d --net=host --name=swarm-manage swarm manage -H :4000 --replication --advertise 192.168.1.74:4000 consul:
//192
.168.1.74:8500
|
剩下2台
|
1
2
|
docker run -d --net=host --name=swarm-manage swarm manage -H :4000 --replication --advertise 192.168.1.73:4000 consul:
//192
.168.1.74:8500
docker run -d --net=host --name=swarm-manage swarm manage -H :4000 --replication --advertise 192.168.1.72:4000 consul:
//192
.168.1.74:8500
|
3、安装swarm node (70/71)
|
1
2
|
docker run -d --net=host --name=swarm-node swarm
join
--advertise=192.168.1.70:2375 consul:
//192
.168.1.74:8500
docker run -d --net=host --name=swarm-node swarm
join
--advertise=192.168.1.71:2375 consul:
//192
.168.1.74:8500
|
filter 使用
指定label role=node01 的node 运行nginx
label role=node01 需要自己在daemon中自定义
docker -H :4000 run -d -e constraint:role==node01 --name Iam-node1 nginx
docker -H :4000 run -d -e constraint:role==node02 --name Iam-node2 redis
分别去node1和node2可以看到nginx 运行在node1,redis 运行在node2
本文转自银狐博客51CTO博客,原文链接http://blog.51cto.com/foxhound/1789138如需转载请自行联系原作者
战狐