1. DC01 192.168.9.8
拉镜像, 起服务
1
2
3
| $ docker pull progrium/consul
$ mkdir ~/consul
$ docker run --rm progrium/consul cmd:run 192.168.9.8 -d -v ~/consul:/data
|
运行上面生成的脚本
1
2
3
4
5
6
7
8
9
10
11
12
| docker run --name consul -h $HOSTNAME \
-p 192.168.9.8:8300:8300 \
-p 192.168.9.8:8301:8301 \
-p 192.168.9.8:8301:8301/udp \
-p 192.168.9.8:8302:8302 \
-p 192.168.9.8:8302:8302/udp \
-p 192.168.9.8:8400:8400 \
-p 192.168.9.8:8500:8500 \
-p 172.17.0.1:53:53 \
-p 172.17.0.1:53:53/udp \
-d -v /home/ubuntu/consul:/data \
progrium/consul -server -advertise 192.168.9.8 -bootstrap-expect 3 -ui-dir /ui
|
验证本结点信息
1
2
3
|
$ curl dc01:8500/v1/catalog/nodes
$ dig @0.0.0.0 -p 8600 node1.node.consul
|
2. DC02 192.168.9.253
1
2
3
| $ docker pull progrium/consul
$ mkdir ~/consul
$ docker run --rm progrium/consul cmd:run 192.168.9.253::192.168.9.8 -d -v ~/consul:/data
|
1
2
3
4
5
6
7
8
9
10
11
12
| docker run --name consul -h $HOSTNAME
-p 192.168.9.253:8300:8300 \
-p 192.168.9.253:8301:8301 \
-p 192.168.9.253:8301:8301/udp \
-p 192.168.9.253:8302:8302 \
-p 192.168.9.253:8302:8302/udp \
-p 192.168.9.253:8400:8400 \
-p 192.168.9.253:8500:8500 \
-p 172.17.0.1:53:53 \
-p 172.17.0.1:53:53/udp \
-d -v /home/ubuntu/consul:/data \
progrium/consul -server -advertise 192.168.9.253 -join 192.168.9.8
|
3. DC03 192.168.9.252
1
2
3
| $ docker pull progrium/consul
$ mkdir ~/consul
$ $(docker run --rm progrium/consul cmd:run 192.168.9.252::192.168.9.8 -d -v ~/consul:/data)
|
4. DC01 192.168.9.8 验证
1
2
| $ curl dc01:8500/v1/catalog/nodes
[{"Node":"dc01.mudan.com","Address":"192.168.9.8"},{"Node":"dc02.mudan.com","Address":"192.168.9.253"},{"Node":"dc03.mudan.com","Address":"192.168.9.252"}]
|
consul 参考资料
https://hub.docker.com/r/progrium/consul/
http://jlordiales.me/2015/02/03/registrator/
http://artplustech.com/docker-consul-dns-registrator/
https://www.spirulasystems.com/blog/2015/06/25/building-an-automatic-environment-using-consul-and-docker-part-1/
https://docs.docker.com/v1.5/swarm/discovery/
http://tonybai.com/2015/07/06/implement-distributed-services-registery-and-discovery-by-consul/