关于macvlan的理解
首先,从网上我们可以看到,macvlan技术就是在物理网卡下,添加另一张虚拟网卡,其实就是在物理网卡下添加了一个条件分支。我们可以认为报文从物理网卡进入之后,会做一个switch判断,如果该报文mac属于macvlan,则直接发往macvlan后面的网络,否则就发往原host的网络。这里简单的做个试验就知道了。
Docker 创建一个macvlan 使得容器与外部硬件网络直接交互
具体作用为,容器直接与外部硬件网络接触, 满足容器程序所需要的 UPNP 网络穿透等特殊网络需求
docker network create -d macvlan --subnet=192.168.2.0/24 --gateway=192.168.2.254 -o parent=eth0 -o macvlan_mode=bridge lwm_net
参数 | 示例 | 备注 |
---|---|---|
—subnet | 192.168.2.0/24 | 子网掩码 |
—gateway | 192.168.2.254 | 路由器网关 |
parent | eth0 | 物理网卡名称 |
参考文档
Docker MACVLAN 官方 https://docs.docker.com/network/network-tutorial-macvlan/