Docker:跨主机通信
修改主机docker默认的虚拟网段,然后在各自主机上分别把对方的docker网段加入到路由表中,配合iptables即可实现docker容器夸主机通信。配置方法如下:
设有三台虚拟机
- v1: 10.108.8.200
- v2: 10.108.8.205
- v3: 10.108.8.202
更改虚拟机docker0网段,v1为172.17.1.1/24,v2为172.17.2.1/24,v3为172.17.3.1/24
#v1 sudo ifconfig docker0 172.17.1.1 netmask 255.255.255.0 sudo bash -c 'echo DOCKER_OPTS="-B=docker0" >> /etc/default/docker' sudo service docker restart
# v2 sudo ifconfig docker0 172.17.2.1 netmask 255.255.255.0 sudo bash -c 'echo DOCKER_OPTS="-B=docker0" >> /etc/default/docker' sudo service docker restart
# v3 sudo ifconfig docker0 172.17.3.1 netmask 255.255.255.0 sudo bash -c 'echo DOCKER_OPTS="-B=docker0" >> /etc/default/docker' sudo service docker restart
然后在v1上把v2的docker虚拟网段加入到路由表中,在v2上将v1的docker虚拟网段加入到自己的路由表中
# v1 10.108.8.200 sudo route add -net 172.17.2.0 netmask 255.255.255.0 gw 10.108.8.205 sudo iptables -t nat -F POSTROUTING > sudo iptables -t nat -A POSTROUTING -s 172.17.1.0/24 ! -d 172.17.0.0/16 -j MASQUERADE
# v2 10.108.8.205 v3 10.108.8.202 sudo route add -net 172.17.1.0 netmask 255.255.255.0 gw 10.108.8.200 sudo iptables -t nat -F POSTROUTING sudo iptables -t nat -A POSTROUTING -s 172.17.2.0/24 ! -d 172.17.0.0/16 -j MASQUERADE
至此,两台虚拟机中的docker容器可以互相访问了。
原文地址:https://www.35youth.cn/531.html
作者:onlooker 来源:三无青年博客 原文:https://www.35youth.cn/531.html 版权声明:本文为博主原创文章,转载请附上博文链接!
相关推荐
changecan 2020-11-19
changecan 2020-09-22
王道革 2020-11-25
bwyyziq 2020-11-22
pigsmall 2020-11-19
helloWorldAndYou 2020-11-16
nginxs 2020-11-14
红石丶 2020-11-13
WanKaShing 2020-11-12
yangkang 2020-11-12
滴水穿石点石成金 2020-11-12
张荣珍 2020-11-12
wuxunanjing 2020-11-11
魅惑青花瓷 2020-11-11
lihongtai 2020-11-09
yangkang 2020-11-09
worldsnow 2020-11-06
MichaelJScofield 2020-11-06