Docker跨主機通訊之路由

1、實驗環境:

主機名docker

主機IPvim

Docker0_IPtcp

Docker1測試

192.168.88.130spa

172.17.0.1unix

Docker2rest

192.168.88.131ip

172.18.0.1路由

2、實驗操做

設定指定的dokcer0的IP table

#vim /usr/lib/systemd/system/docker.service

ExecStart=/usr/bin/docker daemon --bip=172.18.42.1/16 -H fd:// -H=unix:///var/run/docker.sock

systemctl daemon-reload

systemctl restart docker                #有可能docker起不來,此時重啓機器便可。

 

設定路由規則

route add -net 172.17.0.0/16 gw 192.168.88.131        #對端主機IP

route add -net 172.18.0.0/16 gw 192.168.88.130

 

關閉火牆規則,對icmp的reject:

iptables -F; iptables -t nat F

 

測試

在docker1上的容器可以和docker2上的容器通訊

 

注意使用tcpdump分析和排錯: tcpdump icmp

 

數據包流向

docker1_container1_eth0->docker1_docker0->docker1_enoXX-> docker2_enoXX(docker1'gw)->docker2_docker0 -> docker2_container1_eth0

相關文章
相關標籤/搜索