7)验证
在docker01.上进入容器bbox10和docker02.上的bbox11进行通信。
在docker01.上进入容器bbox20和docker02.上的bbox21进行通信。
注意: VMware的网络必须设置为Bridge模式。
现在把docker01和docker02的网络模式设置为桥接模式

测试一下相同网卡的主机是否能ping通
[root@docker01 ~]# docker exec -it bbox10 /bin/sh
/ # ping 172.16.20.20
[root@docker02 ~]# docker exec -it bbox20 /bin/sh
/ # ping 172.16.20.20
5.Macvlan 的局限性
Macvlan 是将 VM 或容器通过二层连接到物理网络的近乎理想的方案,但它也有一些局限性:
1.Linux 主机连接的交换机可能会限制同一个物理端口上的 MAC 地址数量。虽然你可以让网络管理员更改这些策略,但有时这种方法是无法实行的(比如你要去给客户做一个快速的 PoC 演示)。
2.许多 NIC 也会对该物理网卡上的 MAC地址数量有限制。超过这个限制就会影响到系统的性能。
3.IEEE 802.11 不喜欢同一个客户端上有多个 MAC 地址,这意味着你的 Macvlan 子接口在无线网卡或 AP 中都无法通信。可以通过复杂的办法来突破这种限制,但还有一种更简单的办法,那就是使用 Ipvlan,感兴趣可以自己查阅相关资料。
6.总结
macvlan是一种网卡虚拟化技术,能够将一张网卡虚拟出多张网卡。
macvlan的特定通信模式,常用模式是bridge。
在Docker中,macvlan只支持bridge模式。
相同的macvlan可以通信,不同的macvlan二层无法通信,可以通过三层路由完成通信。
思考一下:
macvlan bridge和bridge的异同点
还有一种类似的技术,多张虚拟网卡共享相同MAC地址,但有独立的IP地址,这是什么技术?
您可能感兴趣的文章:Docker容器跨主机通信中直接路由方式详解docker部署Macvlan实现跨主机网络通信的实现Docker学习笔记之Weave实现跨主机容器互联详解Docker容器跨主机通信的方法










