consul集群部署-docker

该文详细介绍了如何使用Docker进行Consul服务网格的部署,包括创建自定义网络,部署3个Server节点和1个Client节点,以及查看节点和主从信息的命令。每个节点的Docker运行配置都有所不同,以确保网络通信和集群功能正常。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.前期准备

  1) 参数说明

-h HOSTNAME 或者 --hostname=HOSTNAME: 设定容器的主机名,它会被写到容器内的 /etc/hostname 和 /etc/hosts。

  2) 创建自定义网络

docker netowork create node1

  3) 目标三个Sever,两个Client

  4) 官网地址

https://www.consul.io/downloads

2.部署第1个Server节点:

  1) docker pull consul

  2) 运行实例

docker run -d --name=node1 --restart=always \
-e 'CONSUL_LOCAL_CONFIG={"skip_leave_on_interrupt":true}' \
-p 8300:8300 \
-p 8301:8301 \
-p 8301:8301/udp \
-p 8302:8302 \
-p 8302:8302/udp \
-p 8400:8400 \
-p 8501:8500 \
-p 8600:8600 \
-h host-node1 \
consul agent -server -bind=0.0.0.0 -bootstrap-expect=3 -node=consul-server1 \
-data-dir=/tmp/data-dir -client 0.0.0.0 -ui

3.部署第2个Server节点:

docker run -d --name=node2 --restart=always \
-e 'CONSUL_LOCAL_CONFIG={"skip_leave_on_interrupt": true}' \
-p 9300:8300 \
-p 9301:8301 \
-p 9301:8301/udp \
-p 9302:8302/udp \
-p 9302:8302 \
-p 9400:8400 \
-p 8502:8500 \
-p 9600:8600 \
-h host-node2 \
consul agent -server -bind=0.0.0.0 \
-join=192.168.4.130 -node-id=$(uuidgen | awk '{print tolower($0)}') \
-node=consul-server2 \
-data-dir=/tmp/data-dir -client 0.0.0.0 -ui

4.部署第3个Server节点:

docker run -d --name=node3 --restart=always \
-e 'CONSUL_LOCAL_CONFIG={"skip_leave_on_interrupt": true}' \
-p 10300:8300 \
-p 10301:8301 \
-p 10301:8301/udp \
-p 10302:8302/udp \
-p 10302:8302 \
-p 10400:8400 \
-p 8503:8500 \
-p 10600:8600 \
-h host-node3 \
consul agent -server -bind=0.0.0.0 \
-join=192.168.4.130 -node-id=$(uuidgen | awk '{print tolower($0)}') \
-node=consul-server3 \
-data-dir=/tmp/data-dir -client 0.0.0.0 -ui

5.部署第1个Client节点:

docker run -d --name=client1 --restart=always \
-e 'CONSUL_LOCAL_CONFIG={"leave_on_terminate": true}' \
-p 11300:8300 \
-p 11301:8301 \
-p 11301:8301/udp \
-p 11302:8302/udp \
-p 11302:8302 \
-p 11400:8400 \
-p 8500:8500 \
-p 11600:8600 \
-h host-client1 \
consul agent -bind=0.0.0.0 -retry-join=192.168.4.130 \
-node-id=$(uuidgen | awk '{print tolower($0)}') \
-node=consul-client1 \
-client 0.0.0.0 -ui

6.命令

#查看节点

docker exec -t node1 consul members

#查看主从信息

docker exec -t node1 consul operator raft list-peers

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wang_peng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值