centos7 使用 docker 配置 consul 集群
为实现下面的操作,需要几个前提条件
1.centos 安装了 docker,能成功跑通 hello-world
2.拥有 root 权限(sudo 也行)
配置 consul 集群
拉取最新 consul 容器
docker pull consul
配置第一个 consul 单机
docker run --name consul1 -d -p 8500:8500 -p 8300:8300 -p 8301:8301 -p 8302:8302 -p 8600:8600 consul agent -server -bootstrap-expect 2 -ui -bind=0.0.0.0 -client=0.0.0.0
8500 http 端口,用于 http 接口和 web ui
8300 server rpc 端口,同一数据中心 consul server 之间通过该端口通信
8301 serf lan 端口,同一数据中心 consul client 通过该端口通信
8302 serf wan 端口,不同数据中心 consul server 通过该端口通信
8600 dns 端口,用于服务发现
-bbostrap-expect 2: 集群至少两台服务器,才能选举集群 leader
-ui:运行 web 控制台
-bind: 监听网口,0.0.0.0 表示所有网口,如果不指定默认未 127.0.0.1,则无法和容器通信
-client : 限制某些网口可以访问
获取 consul server1 的 ip 地址
docker inspect --format '{{ .NetworkSettings.IPAddress }}' consul1
输出为 172.17.0.2
启动第二个 consul 服务:consul2, 并加入 consul1(使用 join 命令)
docker run --name consul2 -d -p 8501:8500 consul agent -server -ui -bind=0.0.0.0 -client=0.0.0.0 -join 172.17.0.2
启动第三个 consul 服务:consul3,并加入 consul1
docker run --name consul3 -d -p 8502:8500 consul agent -server -ui -bind=0.0.0.0 -client=0.0.0.0 -join 172.17.0.2
至此,consul 集群已完成部署,可以浏览器访问: http://ip:8500/8501/8502 查看集群状态
docker 关闭 consul 集群方式
docker ps #查看docker正在运行的容器
docke ps -a #查看docker我们构建生成的容器
docker kill consul1
docker kill consul2
docker kill consul3
运行上面脚本即可关闭 consul 集群
重新启动也很简单
docker start consul1
docker start consul2
docker start consul3
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于