步骤一:创建网络
$ docker network create -d macvlan --subnet=172.16.0.0/24 --gateway=172.16.0.1 -o parent=eno16777736 mynet
548d79fe04c613d3ca180e8689f2207f71534020bc39566d62d0b5aeb67fc8b5

参数解析:
-d macvlan     加载kernel的模块名
--subnet         宿主机所在网段
--gateway       宿主机所在网段网关
-o parent        继承指定网段的网卡

步骤二:运行容器
$ docker run --net=mynet --ip=172.16.0.100 -it -d --rm centos:6.7 /bin/bash

参数解析:
--ip 可以指定容器的IP


或者:

docker network create  -d macvlan --subnet=192.168.1.131/25 --gateway=192.168.1.254 mynet   

当你遇到这样的提示:no matching subnet for gateway 192.168.1.254    ,其中254主机网络的网关地址

这是因为你可能执行了错误的subnet参数:

错误示例:docker network create -d macvlan --subnet=192.168.1.0/25 --gateway=192.168.1.254 -o parent=ens3 mynet


参考:https://stackoverflow.com/questions/42083546/docker-macvlan-network-unable-to-access-internet

          https://docs.docker.com/engine/reference/commandline/network_create/#specify-advanced-options