如何给群晖Docker创建macvlan网络

前言

群晖docker创建macvlan好处很多,macvlan下的docker容器,都可以当作是局域网下的一个独立设备,这样避免多应用的端口冲突问题,也更方便管理。

效果演示:

Docker创建的macvlan同时跑多个网心云

配置方法

1、打开群晖的shh,用终端登录到ssh,切换到root账户。

我这里有root账户,直接登录

2、进群晖,控制面板-网络-网络介面-管理,启用Open vSwitch,如下图:

Open vSwitch意思就是虚拟交换机

3、ssh用ip addr命令查看当前群晖网络情况。

这里ovs_eth0就是群晖物理网卡的信息

4、然后输入命令docker network ls查看docker的网络情况。

我已经创建了macvlan,这里就显示出来了

5、输入下面命令创建自定义macvlan网络。

  • 仅ipv4创建代码:
    docker network create -d macvlan --subnet=192.168.4.0/24 --gateway=192.168.4.1 --ip-range=192.168.4.100/28 -o parent=ovs_eth0 macvlan
    
  • pv4&ipv6双栈
    docker network create -d macvlan --subnet=192.168.4.0/24 --gateway=192.168.4.1 --ipv6 --subnet=240e::/60 --gateway=240e::1 --ip-range=192.168.4.100/28 -o parent=ovs_eth0 macvlan
    
    这里简单解释一下
    docker network create -d macvlan #指定创建的网络类型是macvlan
    --subnet=192.168.4.0/24 #macvlan的ipv4网段,这里写你的内网网段即可。
    --gateway=192.168.4.1 #macvlan的ipv4网关,这里写您需要容器走的网关。
    --ipv6 #启用ipv6支持
    --subnet=240e::/60 #macvlan的ipv6前缀
    --gateway=240e::1 #macvlan的ipv6网关
    -o parent=ovs_eth0 #桥接网络走的是ovs_eth0接口,如果你的接口不是这个,请自行更改。
    name #macvlan网络的名称(可以自定义)
    参数怎么填大家按照自己实际需求情况来
    

6、这时候docker的macvlan网络好了,再创建容器的时候选择macvlan即可。

接下来就可以愉快的玩耍了,比如创建多个网心云,安装宝塔等等。