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
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