码迷,mamicode.com
首页 > 其他好文 > 详细

docker部署consol 集群

时间:2017-10-11 00:33:35      阅读:317      评论:0      收藏:0      [点我收藏+]

标签:awk   默认   ash   min   docker部署   $0   之间   idg   str   

拉取镜像

docker pull consul

启动节点1

docker run -d -e ‘CONSUL_LOCAL_CONFIG={"skip_leave_on_interrupt": true}‘ --name=node1 consul agent -server -bind=172.17.0.2 -bootstrap-expect=3 -node=node1

-node:节点的名称 
-bind:绑定的一个地址,用于节点之间通信的地址,可以是内外网,必须是可以访问到的地址 
-server:这个就是表示这个节点是个SERVER 
-bootstrap-expect:这个就是表示期望提供的SERVER节点数目,数目一达到,它就会被激活,然后就是LEADER了 (LEADER就是主服务的意思)

 

启动节点2

docker run -d -e ‘CONSUL_LOCAL_CONFIG={"skip_leave_on_interrupt": true}‘ --name=node2 consul agent -server -bind=172.17.0.3 -join=172.17.0.2 -node-id=$(uuidgen | awk ‘{print tolower($0)}‘) -node=node2

启动节点3

docker run -d -e ‘CONSUL_LOCAL_CONFIG={"skip_leave_on_interrupt": true}‘ --name=node3 consul agent -server -bind=172.17.0.4 -join=172.17.0.2 -node-id=$(uuidgen | awk ‘{print tolower($0)}‘) -node=node3 -client=172.17.0.4

-join:这个表示启动的时候,要加入到哪个集群内,这里就是说要加入到节点1的集群 
-node-id:这个貌似版本8才加入的,这里用这个来指定唯一的节点ID,可以查看这个issue 
-client:这个表示注册或者查询等一系列客户端对它操作的IP,如果不指定这个IP,默认是127.0.0.1。

启动节点4

docker run -d -e ‘CONSUL_LOCAL_CONFIG={"leave_on_terminate": true}‘ --name=node4 consul agent -bind=172.17.0.5 -retry-join=172.17.0.2 -node-id=$(uuidgen | awk ‘{print tolower($0)}‘) -node=node4

除了没有server 其他都一样,说明这是个client节点

查看集群状态

docker exec -t node1 consul members

docker部署consol 集群

标签:awk   默认   ash   min   docker部署   $0   之间   idg   str   

原文地址:http://www.cnblogs.com/wangyinhuo/p/7648438.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!