社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
安装docker
# 安装最新版本
yum install -y docker
# 启动docker
systemctl start docker
# 设置阿里云镜像加速地址
[注册阿里云账号](https://account.aliyun.com/login/login.htm?accounttraceid=f9b25fda-e61d-4a95-b837-f9e5198e6726)
# 没有daemon.json文件可以自己新建一个
vi /etc/docker/daemon.json
# daemon文件内容
{
"registry-mirrors": ["你自己的阿里云加速地址"]
}
制作consul镜像
cd /opt/
# 获取consul安装包
wget https://releases.hashicorp.com/consul/0.7.2/consul_0.7.2_linux_amd64.zip
unzip consul_0.7.2_linux_amd64.zip #解压压缩包,解压后获得文件 consul
# 如果需要安装zip服务, yum install zip unzip
rm -rf consul_0.7.2_linux_amd64.zip # 删除安装包
vi Dockerfile # 通过Dockerfile创建镜像
# dockerfile 文件内容
FROM centos:latest # 指定基础镜像
MAINTAINER yadishaonian # 作者信息
COPY consul /usr/local/bin # 将解压的consul文件复制到容器的bin目录下
EXPOSE 8300
EXPOSE 8301 8301/udp 8302 8302/udp
EXPOSE 8500 8600 8600/udp # 对外暴露consul服务端口
# dockerfile 创建镜像
docker build -t consul/dong . # consul/dong 为镜像的REPOSITORY
docker build -t consul/ya .
docker build -t consul/di .
#启动镜像
docker run -it -d --name consuldong -p 8500:8500 consul/dong /bin/bash
docker run -it -d --name consulya -p 8501:8500 consul/ya /bin/bash
docker run -it -d --name consuldi -p 8502:8500 consul/di /bin/bash
consul 集群
上面已经在docker中创建三台consul服务器.
①.启动第一台:
1. docker exec -it consuldong /bin/bash # 进入第一台consul服务器
2. cd /opt
3. mkdir consul
4. cd consul
5. mkdir data
6. mkdir consul.d # 创建consul运行需要的目录,不创建启动报错
7. cd /usr/local/bin/ # 切换到bin目录下
8. nohup consul agent -server -bootstrap-expect=1 -data-dir=/opt/consul/data -datacenter=dc1 -rejoin -config-dir /opt/consul/consul.d -client 0.0.0.0 -ui & # consul 以后台进程启动,并且作为集群中的master,提供UI界面
9. consul members #查看当前consul运行状态
![记录address:*172.17.0.4*](https://img-blog.csdnimg.cn/20181031172514933.png)
10. exit # 退出当前容器
②.启动第二台(第二与第三台作为slave节点,操作相同)
1. docker exec -it consuldong /bin/bash # 进入第一台consul服务器
2. cd /opt
3. mkdir consul
4. cd consul
5. mkdir data
6. mkdir consul.d # 创建consul运行需要的目录,不创建启动报错
7. cd /usr/local/bin/ # 切换到bin目录下
8. nohup consul agent -server -data-dir=/opt/consul/data -datacenter=dc1 -rejoin -client 0.0.0.0 & # consul slave节点启动方式
9. consul join 172.17.0.4 # 加入集群中
10. exit # 退出
开通对外访问的防火墙策略
consul对外访问端口默认为8500.
firewall-cmd --zone=public --add-port=8500/tcp --permanent # 打开8500端口
firewall-cmd --zone=public --add-port=8501/tcp --permanent # 打开8501端口
firewall-cmd --zone=public --add-port=8502/tcp --permanent # 打开8502端口
firewall-cmd --reload # 重启防火墙
可以访问了~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!