docker跨主机通信手工版

coding

#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

以上是 docker跨主机通信手工版 的全部内容, 来源链接: utcz.com/z/509902.html

回到顶部