您的位置:首页 > 运维架构 > Docker

consul 服务发现 集群 docker 版

2018-01-18 21:32 696 查看

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  consul 服务器