1、安装docker
yum install docker -y
# 配置镜像加速(省略,建议使用阿里云镜像加速)
systemctl start docker
systemctl enable docker
# 关闭防火墙
2、安装consul
# client 模式
docker run --restart=always --name consul -p 8500:8500 -v /opt/consul/conf/:/consul/conf/ -v /opt/consul/data/:/consul/data/ -d consul
# server 模式,数据持久化重启后可恢复(建议)
docker run --restart=always --name consul -p 8500:8500 -v /opt/consul/conf/:/consul/conf/ -v /opt/consul/data/:/consul/data/ -d consul agent -server -ui -bind=0.0.0.0 -client=0.0.0.0 -bootstrap-expect=1
参数解释:
-d : 后台运行
-p:端口映射
-v:挂载容器目录到宿主机目录;如:-v /opt/consul/data/:/consul/data/,就是将容器的/consul/data/挂载到宿主机的/opt/consul/data/目录;
-server(重要):以服务端模式节点启动
-bootstrap-expect(重要):配置数据中心中预期的SERVER的数量,当集群中启动的SERVER达到预期值时,Consul开始引导集群;
-bind:内部集群通信绑定的地址,默认情况下是"0.0.0.0";
-client:consul服务侦听地址,这个地址提供HTTP、DNS、RPC等服务,默认是127.0.0.1所以不对外提供服务,如果你要对外提供服务改成0.0.0.0;
3、测试
浏览器访问 ip:8500,添加配置文件,重启consul(docker restart consul),再次访问consul页面,数据未丢失,表示安装配置成功。
参考地址:
DockerHub: https://hub.docker.com/_/consul (Running Consul Agent in Server Mode)
https://learn.hashicorp.com/tutorials/consul/docker-container-agents?in=consul/docker(Configure and run a Consul server)