Macvlan 网络允许 Docker 直接使用局域网的 IP 地址,让容器服务如同一台独立设备进行运行,解决端口冲突和网络隔离的问题。
Macvlan 的隔离特性会导致宿主机与容器网络完全断开,当 Docker 容器通过 Macvlan 获取独立 IP 地址后,该容器 IP 无法与群晖(宿主机)IP 直接进行通信。
操作步骤
1、登录群晖 DSM 控制台,安装「Container Manager」套件。

2、打开「控制面板」,依次选择「网络」> 「网络界面」> 「管理」> 「Open vSwitch 设置」,勾选「启用 Open vSwitch」。


3、选择「终端机和 SNMP」,勾选「启动 SSH 功能」,默认端口为 22 。

4、使用终端工具连接到 Synology 服务器,ssh 的用户名和密码和 DSM 管理员一致。

5、执行以下命令,切换到 root 用户,并输入管理员密码。
sudo -i
6、查看当前的网卡信息,确认 Open vSwitch 是否开启,其中 ovs_eth* 为桥接网络。
ifconfig

7、为 Docker 创建一个 Macvlan 网络。
# 其中 10.0.100.0/24 为网段,10.0.100.1 为网关地址,ovs_eth0 为刚才获取到的网卡名称。
docker network create -d macvlan --subnet=10.0.100.0/24 --gateway=10.0.100.1 -o parent=ovs_eth0 macvlan
8、创建完成后,检查 Docker 网络信息。
docker network ls

9、打开「Container Manager」套件,选择「网络」,在列表中可以看到刚刚创建好的 Macvlan 网络。

本文为原创文章,著作权归作者所有:来自「KOBIN 技术随笔」作者的原创作品,转载请标明出处。
群晖 Docker 开启 Macvlan 网络类型
https://blog.kobin.cn/blog/network/n4/3283.html
群晖 Docker 开启 Macvlan 网络类型
https://blog.kobin.cn/blog/network/n4/3283.html