个人学习笔记LDY

让找资料更简单

把我所学所懂记录下来以及收集网络上优秀的文章分享给大家,俗话说:“好记性不如烂笔头”。

Docker 部署 Consul,多数据中心

发布,2070 人读过

Docker 部署 Consul,多数据中心

本来发表于掘金Docker 部署 Consul,多数据中心的,现在搬到这里来,希望可以能给更多的刚接触consul的朋友帮助。

  1. docker 拉取 consul 镜像

    docker pull consul
  2. 启动 server
    启动前, 先建立 /data/consul 文件夹, 保存 consul 的数据

    mkdir -p /data/consul
  3. 使用 docker run 启动 server

    docker run -d -p 8500:8500 -v /data/consul:/consul/data -e CONSUL_BIND_INTERFACE='eth0' --name=consul1 consul agent -server -bootstrap -ui -client='0.0.0.0'

    一般第一个容器的ip地址是 172.17.0.2,可以通过下面的命令查询容器ip:

    docker inspect --format '{{ .NetworkSettings.IPAddress }}' consul1
  • agent: 表示启动 agent 进程

  • server: 表示 consul 为 server 模式

  • client: 表示 consul 为 client 模式

  • bootstrap: 表示这个节点是 Server-Leader

  • ui: 启动 Web UI, 默认端口 8500

  • node: 指定节点名称, 集群中节点名称唯一

  • client: 绑定客户端接口地址, 0.0.0.0 表示所有地址都可以访问

往集群插入其他节点

docker run -d --name=consul2 -e CONSUL_BIND_INTERFACE=eth0 consul agent --server=true --client=0.0.0.0 --join 172.17.0.2;docker run -d --name=consul3 -e CONSUL_BIND_INTERFACE=eth0 consul agent --server=true --client=0.0.0.0 --join 172.17.0.2;docker run -d --name=consul4 -e CONSUL_BIND_INTERFACE=eth0 consul agent --server=false --client=0.0.0.0 --join 172.17.0.2;
  • join: 表示加入到指定集群中

查看集群下面的节点

docker exec -it consul1 consul members

至此 consul 的部署已经完成。

上述只搭建了dc1,下面开始搭建dc2,并将dc1和dc2关联起来

docker run -d --name=consul5 -e CONSUL_BIND_INTERFACE='eth0' consul agent -server -bootstrap-expect 3 -datacenter=dc2

往dc2添加节点

docker run -d --name=consul6 -e CONSUL_BIND_INTERFACE=eth0 consul agent --datacenter=dc2 --server=true --client=0.0.0.0 --join 172.17.0.6;docker run -d --name=consul7 -e CONSUL_BIND_INTERFACE=eth0 consul agent --datacenter=dc2 --server=true --client=0.0.0.0 --join 172.17.0.6;docker run -d --name=consul8 -e CONSUL_BIND_INTERFACE=eth0 consul agent --datacenter=dc2 --server=false --client=0.0.0.0 --join 172.17.0.6;

关联dc1和dc2

docker exec -it consul6 consul join -wan 172.17.0.2

至此可以在web ui看到dc1和dc2辣!



作者:埃尔温薛定谔不养猫
链接:https://www.jianshu.com/p/df3ef9a4f456
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。