1、Docker 下载 consul
docker pull consul
2、运行consul,部署server,官方建议是3-5台部署在不同的服务器上,我用虚拟机模拟安装在同一台服务器上
-- 创建并启动第一个节点 docker run -d -p 8500:8500 --name=ConsulServer-A consul agent -server -ui -node=Server-A -bootstrap-expect=3 -client=0.0.0.0 --查看第一个节点IP docker inspect -f ‘{{.NetworkSettings.IPAddress}}‘ ConsulServer-A --创建并启动第二个节点 docker run -d -p 8501:8500 --name=ConsulServer-B consul agent -server -ui -node=Server-B -bootstrap-expect=3 -client=0.0.0.0 -join=172.17.0.2 --创建并启动第三个节点 docker run -d -p 8502:8500 --name=ConsulServer-c consul agent -server -ui -node=Server-c -bootstrap-expect=3 -client=0.0.0.0 -join=172.17.0.2 --第二种方式:创建变量存放IP JOIN_IP="$(docker inspect -f ‘{{.NetworkSettings.IPAddress}}‘ ConsulServer-A)"
--创建并启动第二个节点,第三个节点 docker run -d -p 8502:8500 --name=ConsulServer-c consul agent -server -ui -node=Server-c -bootstrap-expect=3 -client=0.0.0.0 -join=$JOIN_IP
启动配置参数说明:
-bootstrap-expect 配置数据中心中预期的SERVER的数量,当集群中启动的SERVER达到预期值时,Consul开始引导集群; -bind 内部集群通信绑定的地址,默认情况下是"0.0.0.0"; -client consul服务侦听地址,这个地址提供HTTP、DNS、RPC等服务,默认是127.0.0.1所以不对外提供服务,如果你要对外提供服务改成0.0.0.0; -config-file 服务启动时要加载的配置文件; -config-dir 配置文件目录; -config-format 指定要加载的配置文件的格式; -data-dir 数据目录; -dev 启用开发服务器模式。对于在关闭所有持久性选项的情况下快速启动consul代理非常有用,不适合生产使用,因为它不将任何数据写入磁盘; -join 启动时要加入到的另一位代理地址; -retry-join 加入失败后重试连接,对于明确可用地址的情况下很有用;
3、访问:http://localhost:8500/ui/dc1/nodes
4、查看集群信息
--查看集群成员 docker exec -t ConsulServer-A consul members --查看选举状态 docker exec -t ConsulServer-A consul operator raft list-peers
基于docker安装consul集群搭建server+client
原文:https://www.cnblogs.com/zhouganqing/p/14207291.html