且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

swarm 生产环境集群安装

更新时间:2022-09-30 20:46:22

规划: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如需转载请自行联系原作者


战狐