为集群配置docker的用户自定义网络,这样节点之间才能通过名称而不是IP通讯(因为IP会发生变化);

docker network create consul

建立节点

docker run \
  --name=consul-1 \
  -d \
  --network=consul \
  -e CONSUL_LOCAL_CONFIG='{"skip_leave_on_interrupt": true}' \
  consul agent -server -bootstrap-expect=3 -client 0.0.0.0

docker run \
  --name=consul-2 \
  -d \
  --network=consul \
  -e CONSUL_LOCAL_CONFIG='{"skip_leave_on_interrupt": true}' \
  consul agent -server -bootstrap-expect=3 -client 0.0.0.0 \
  -join=consul-1

docker run \
  --name=consul-3 \
  -d \
  --network=consul \
  -e CONSUL_LOCAL_CONFIG='{"skip_leave_on_interrupt": true}' \
  consul agent -server -bootstrap-expect=3 -client 0.0.0.0 \
  -join=consul-1

3个节点都启动完成后集群就正常工作了,可以进行测试

docker exec -t consul-1 consul members

查看选举到的leader

curl http://172.18.0.2:8500/v1/status/leader

查看peer

curl http://172.18.0.2:8500/v1/status/peers

参考文档:

https://my.oschina.net/longhtml/blog/1623136

https://blog.csdn.net/buxiaoxia/article/details/69788114

相关内容

· Consul集群

· Consul

[ 编辑 | 历史 ]
最近由“jilili”在“2019-12-01 12:53:55”修改