consul可用于服务发现,并提供可视化工具,默认端口9000
首先在docker中拉取consul最新版本
docker pull consul:lasest
启动脚本,搭建consul集群,并设置consul服务随docker启动而启动
1 #!/bin/bash
2
3 PORT=8500
4 IP=172.19.0.8
5 rm -fr /data/consul/*
6 docker run -d -p ${PORT}:${PORT} -v /data/consul:/consul/data --network net2 --ip ${IP} --restart always --name=consul1 consul agent -server -boo
7 sleep 3
8 docker run -d --name=consul2 --network net2 --ip 172.19.0.9 --restart always consul agent --server=true --client=0.0.0.0 --join ${IP}
9 docker run -d --name=consul3 --network net2 --ip 172.19.0.10 --restart always consul agent --server=true --client=0.0.0.0 --join ${IP}
10 docker run -d --name=consul4 --network net2 --ip 172.19.0.11 --restart always consul agent --server=false --client=0.0.0.0 --join ${IP}
11
12 #查看集群节点
13 docker exec -it consul1 consul members
在搭建集群时出现问题:
原因是:consul服务的ip修改之后,使用docker exec -it consul1 consul members查看集群状态没问题,但是在web界面查看是查不到节点信息,而且会导致我的服务注册失败。为什么会这样,最开始以为是与其他服务ip冲突导致,但是反复修改ip结果都是一样。后面意识到可能是consul的配置文件问题,然后使用rm -fr /data/consul/*中数据删除,然后重新启动,可以正常运行了。

2589

被折叠的 条评论
为什么被折叠?



