consul学习笔记-docker中使用(持续更新)

环境
系统:CentOS Linux release 7.6.1810 (Core)(已经关闭防火墙)
consul版本:1.6.1(latest)

一、单机
1、单节点
在一台服务器172.20.36.40上的docker中部署一个consul,开启常用的端口及外部可以web访问,使用命令:
docker run -d -p 8400:8400 -p 8500:8500 -p 8600:53/udp -h node1 consul agent -server -bootstrap -advertise 172.20.36.40 -client 0.0.0.0 -ui
在这里插入图片描述
启动成功,且在另一台机器上web可以访问8500端口:
在这里插入图片描述
2、多节点
在一台服务器上部署三个基于docker的consul,理论上来说没有任何的意义,达不到分布式部署的真正目的,我们直接不考虑,跳过。

二、多机分布式部署
我们准备两台机器172.20.36.40172.20.36.45,在这两台机器上使用docker部署consul。
1、主节点部署
在机器172.20.36.40上部署第一个节点,对外的IP地址均使用172.20.36.40,使用下面的指令:

docker run -d \
-p 8300:8300 \
-p 8301:8301 \
-p 8301:8301/udp \
-p 8302:8302 \
-p 8302:8302/udp \
-p 8400:8400 \
-p 8500:8500 \
-p 8600:53/udp \
-h node1 \
consul agent -server --bootstrap-expect 2 -advertise 172.20.36.40 -client 0.0.0.0 -ui 

然后用web端访问consul的8500,发现访问不了,结果:
在这里插入图片描述
因为上面的指令设置了-bootstrap-expect 2,必须得2个节点都正常的时候才能正常访问
2、第二个节点部署
在机器172.20.36.45上部署第二个节点,指令如下:

docker run -d \
-p 172.20.36.45:8300:8300 \
-p 172.20.36.45:8301:8301 \
-p 172.20.36.45:8301:8301/udp \
-p 172.20.36.45:8302:8302 \
-p 172.20.36.45:8302:8302/udp \
-p 172.20.36.45:8400:8400 \
-p 172.20.36.45:8500:8500 \
-p 172.20.36.45:8600:53/udp \
-h node2 consul agent -server -advertise 172.20.36.45 -join 172.20.36.40 -client 0.0.0.0 -ui

然后web端访问,发现是没有问题的:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值