IP分类
主机1:192.168.127.129
主机1docker:172.16.200.1/24
docker1的emqx:172.16.111.11
主机2:192.168.127.130
主机2docker2:172.16.201.1/24
docker2emqx:172.16.222.22
修改docker的ip
主机1
修改daemon.json文件
vim /ect/docker/daemon.json
内容大致如下↓
{
"bip":"172.16.201.1/24", # docker的ip
"registry-mirrors": ["https://hub-mirror.c.163.com",
"https://ghcr.io",
"https://mirror.baidubce.com"], # docker源
"insecure-registries":["192.168.127.129:5000"]
}
主机2
修改daemon.json文件
vim /ect/docker/daemon.json
内容大致如下↓
{
"bip":"172.16.201.1/24",
"registry-mirrors": ["https://hub-mirror.c.163.com",
"https://ghcr.io",
"https://mirror.baidubce.com"],
"insecure-registries":["192.168.127.129:5000"]
}
然后重启docker。
ubuntu开启路由,加入路由规则
开启IP转发
执行以下指令
sysctl net.ipv4.ip_forward=1
或者进入 /etc/sysctl.conf
添加↓
net.ipv4.ip_forward=1
下载相关工具
安装 iptables-persistent
apt install iptables-persistent
将ip规则追加到rules.v4中
iptables-save > /etc/iptables/rules.v4
还原iptables配置。
iptables-restore < /etc/iptables/rules.v4
主机1
依次执行以下指令↓
iptables -F //清除所有的iptables规则
iptables -P INPUT ACCEPT //允许接收
iptables -P FORWARD ACCEPT //允许发送数据包
添加路由↓
ip route add 172.16.222.0/24 via 192.168.127.130
主机2
依次执行以下指令↓
iptables -F //清除所有的iptables规则
iptables -P INPUT ACCEPT //允许接收
iptables -P FORWARD ACCEPT //允许发送数据包
添加路由↓
ip route add 172.16.111.0/24 via 192.168.127.129
docker配置
主机1
创建相应网关
docker network create --subnet=172.16.111.0/24 emqxnet
启动容器
docker run -itd --name emqx11 --ip 172.16.111.11 --network=emqxnet -p 4369:4369 -p 18083:18083 -p 1883:1883 -p 8084:8084 -p 8883:8883 -p 8083:8083 -p 4370:4370 -p 5368:5368 -e EMQX_NAME=emqx -e EMQX_HOST=172.16.111.11 -e EMQX_CLUSTER__DISCOVERY_STRATEGY=static emqx/emqx:5.0.4
主机2
创建相应网关
docker network create --subnet=172.16.222.0/24 emqxnet
启动容器
docker run -itd --name emqx22 --ip 172.16.222.22 --network=emqxnet -p 4369:4369 -p 18083:18083 -p 1883:1883 -p 8084:8084 -p 8883:8883 -p 8083:8083 -p 4370:4370 -p 5368:5368 -e EMQX_NAME=emqx -e EMQX_HOST=172.16.222.22 -e EMQX_CLUSTER__DISCOVERY_STRATEGY=static emqx/emqx:5.0.4
节点2加入集群
进入容器
docker exec -it emqx22 /bin/bash
加入节点
./bin/emqx_ctl cluster join emqx@172.16.111.11