docker跨主机通信-手工版

原创
02/19 21:15
阅读数 1.6K

#A主机 192.168.100.120#

在主机A中创建一个子网,范围是10.52.100.2->10.52.100.254

docker network create --subnet=10.52.100.0/24 snake120

运行一个centos7的容器作为客户端

docker run --name centos -dit --network snake120 --ip 10.52.100.2 uhub.service.ucloud.cn/pub021/centos:7.4.1708

增加路由指向目标地址所在的宿主机,-net 目标IP , gw 网关IP ,默认eth0网卡

route add -net 10.52.121.0 netmask 255.255.255.0 gw 192.168.100.121

服务端开放转发规则,用于B主机向A主机通信

iptables -A FORWARD -j ACCEPT

#B主机 192.168.100.121#

在主机B中创建一个子网,范围是10.52.121.2->10.52.121.254

docker network create --subnet=10.52.121.0/24 snake121

运行一个目标服务

docker run --name nginx -dit --network snake121 --ip 10.52.121.10 uhub.service.ucloud.cn/pub021/nginx:1.17.10

服务端开放转发规则,用于A主机向B主机通信

iptables -A FORWARD -j ACCEPT

增加路由指向目标地址所在的宿主机,-net 目标IP , gw 网关IP ,默认eth0网卡 这个是为了可以从B主机向A主机主动发起通信,实现相互通信

route add -net 10.52.120.0 netmask 255.255.255.0 gw 192.168.100.120
展开阅读全文
打赏
0
1 收藏
分享
加载中
更多评论
打赏
0 评论
1 收藏
0
分享
返回顶部
顶部