Docker容器实现跨宿主机通信方案

目前有4种方案实现,分别:

第一种docker原生网络驱动macvlan

第二种docker原生网络驱动Overlay+consul

第三种三方隧道方案:flannel(隧道)、weave、OpenvSwitch

第四种三方路由方案:Calico

今天主要讲第一种和第二种方式实现:

第一种macvlan实现:Docker 官方在1.12版本之后引入macvlan网络驱动,可以简单的为容器配置桥接网络,原理:在宿主机物理网卡上虚拟出多个子网卡,通过不同的MAC地址在数据链路层进行网络数据转发,但需要linux内核支持(Linux kernel v3.9–3.19 and 4.0+),macvlan模式不依赖网桥,所以brctl show查看并没有创建新的bridge

实现方案步骤:

1.将物理网卡设置混杂模式

ip link set eno1 promisc on


版权声明:本文为weixin_38854751原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。