Docker Macvlan网络部署
Macvlan Bridge模式
节点1创建
docker network create -d macvlan --subnet=172.100.1.0/24 --gateway=172.100.1.1 -o parent=ens33 macvlan_net
网段为172.100.1.0/24 桥接的网卡为ens33 macvlan_net为指定的名称
节点2也创建
创建容器测试互通
节点1创建 需要指定IP地址
docker run -it --net macvlan_net --ip=172.100.1.10 busybox
节点2创建
docker run -it --net macvlan_net --ip=172.100.1.11 busybox
可以ping通
再创建一个网络与宿主机网段是一样的
一个macvlan只能绑定一个物理接口
需要删除原来的才能创建
docker network rm 2cd49002aec0
创建
docker network create -d macvlan --subnet=192.168.56.0/24 --gateway=192.168.56.2 -o parent=ens33 macvlan_net
节点2同样的操作
启动容器
docker run -it --net macvlan_net --ip=192.168.56.130 busybox
这个容器和宿主机桥接的是一样的网络,可以访问宿主机和公网
MacvlanVLAN Bridge模式
创建一个vlan
ip link add link ens33 name0.50 type vlan id 50
创建一个Macvlan的网络
docker network create -d macvlan --subnet=172.99.0.0/24 --gateway=172.99.0.1 -o parent=name0.50 macvlan_net50
节点2也是同样操作
创建容器测试互通
docker run -it --net macvlan_net50 --ip=172.99.0.10 busybox
启动子接口网卡
ifconfig ens33.50 up