macvlan是Linux操作系统内核提供的网络虚拟化方案之一,更准确的说法是网卡虚拟化方案。它可以为一张物理网卡设置多个mac地址,相当于物理网卡施展了影分身之术,由一个变多个,同时要求物理网卡打开混杂模式。针对每个mac地址,都可以设置IP地址,本来是一块物理网卡连接到交换机,现在是多块虚拟网卡连接到交换机。
1、启用macvlan模块modprobe macvlan
lsmod | grep macvlan
2、设置网卡混杂模式ip link set eth0 promisc on
3、创建macvlan网络docker network create -d macvlan
--subnet=192.168.1.0/24
--ip-range=192.168.1.0/24
-o macvlan_mode=bridge -o parent=eth0
macvlan
subnet子网和当前服务器ip地址网段一样,ip-range允许macvlan获得ip地址的范围。
4、查看docker网络docker network ls
5、使用macvlandocker run -d --name minio-1
--restart=always
--network macvlan --ip=192.168.1.10
-v /appserver/minio/data:/data
-e "MINIO_ROOT_USER=admin"
-e "MINIO_ROOT_PASSWORD=12345678"
minio/minio server http://192.168.1.1{0…3}/data
这里设置的ip是当前网段真实的ip,依次设置minio-2、minio-3、minio-4。可以实现docker容器和宿主机使用相同网段。
转载请注明:我是IT » docker macvlan模式