consul 其他介绍请看

http://blog.csdn.net/fenglailea/article/details/79093848
fox.风

docker 镜像拉取

https://hub.docker.com/_/consul/

以docker 为例,下载镜像

docker pull consul

consul 服务端

consul 服务端 node1

docker run -d --name node1 -e 'CONSUL_LOCAL_CONFIG={"skip_leave_on_interrupt": true}' consul agent -server  -node=node1 -bootstrap-expect=2

获取 node1 的IP

JOIN_IP="$(docker inspect -f '{{.NetworkSettings.IPAddress}}' node1)"

consul 服务端 node2

docker run -d --name node2 -e 'CONSUL_LOCAL_CONFIG={"skip_leave_on_interrupt": true}' consul agent -server  -node=node2 -join $JOIN_IP

consul 服务端 node3

docker run -d --name node3 -e 'CONSUL_LOCAL_CONFIG={"skip_leave_on_interrupt": true}' consul agent -server  -node=node3 -join $JOIN_IP

可以用浏览器访问
http://localhost:8500/ui

consul 客户端

可以是多个客户端

consul 客户端node4

docker run -d --name node4 -e 'CONSUL_LOCAL_CONFIG={"skip_leave_on_interrupt": true}' consul agent -node=node4 -join $JOIN_IP

consul 客户端node11 带UI

docker run -d --name node11 -p 8400:8400 -p 8500:8500 -p 8600:53/udp -e 'CONSUL_LOCAL_CONFIG={"skip_leave_on_interrupt": true}' consul agent -ui -node=node11 -client=0.0.0.0 -join $JOIN_IP

在浏览器中打开
http://localhost:8500/ui

给节点 加入集群

这里的用处是 在创建docker容器时忘记加入-join $JOIN_IP这个参数了,那么就可以用以下方法加入集群

docker exec node20 consul join $JOIN_IP

node20 要改为 你需要加的那个容器节点名字

或者进入该容器内部执行

consul join $JOIN_IP

查看节点

docker exec node1 consul members
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐