Docker跨主机网络(manual)的实现

2020-06-17 07:19:37易采站长站整理

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容器跨主机通信的方法