docker容器跨主机互联小实验

来源:互联网 发布:天星择曰排盘软件下载 编辑:程序博客网 时间:2024/05/22 15:36

环境:

两台通过vmware虚拟出来的主机

运行centos7操作系统

前面讲的通过link命令实现容器之间的互联,然而link命令只能实现单个主机中各个容器之间的连接。如果需要在不同的主机之间实现连接,必须通过其他的方式。

docker安装之后会默认创建一个名为docker0的虚拟网桥,当创建容器的时候会创建一组veth pair接口。这对接口一端在容器中,称为eth0,另一端被挂载到了docker0网桥上,以veth开头,这样主机就可以和容器之间进行通信。

跨主机的情况下可以通过linux的路由机制来解决



1.在第一台主机上修改Docker0的网络地址。

修改方式可以参考:

http://blog.csdn.net/lin521lh/article/details/78470732

2.在左边的主机上添加路由规则:

route add -net 172.18.0.0/16 gw 192.168.18.128

同样的在右边的主机上添加路由规则:

route add -net 172.17.0.0/16 gw 192.168.18.130

3.重新设置防火墙

iptables -F ;

iptables -t nat -F

两个容器之间可以相互ping通。

数据包的发送流程:

Container(右)->docker0(右)->eth0(右)->eth0(左)->docker0(左)->container(左)

阅读全文
0 0