前言
这段时间在研究infuse结合Plex,群晖默认nat桥接网络下是无法使用DLNA和infuse添加plex服务器的(虽然我到现在也没搞明白为什么还是添加不了,不过我觉得问题可能在于infuse那边出问题了,host模式也不行)
群晖创建桥接网络 macvlan
首先ssh进群晖,切换root权限,这个我之前讲过,这里就不再重复了
终端中输入ip addr
查看网络信息,找到你群晖ip地址所在的那行
我的是群晖IP所在网络接口是ovs_eth0
,我估计大部分单网口的应该都是这个数值,复制这个ovs_eth0
2020.04.23 更新
打开网卡混杂模式
# 打开网卡混杂模式 ip link set ovs_eth0 promisc on
接下来创建docker桥接网络
docker network create -d macvlan \ --subnet=192.168.1.0/24 \ --gateway=192.168.1.1 \ -o parent=ovs_eth0 \ bridge-host
需要自己修改的地方我都备注了是什么意思,大家需要根据自己的情况自行修改
注意!
一旦选错网口,虽然这个桥接网络可以创建,但是创建容器指定这个网络的时候将会提示Docker API失败。请访问Docker日志以获得更多信息。
,所以一定要看好我一开始就看成eth0了,结果怎么弄都出错,后来一细看,原来搞错了
创建出于这个桥接网络下的容器
如图所示,在创建容器的网络页面添加这个网络,之后删除群晖默认的桥接网络
这样创建的容器的IP是不固定的,重启容器的时候可能会变,并且也不太好查ip,需要进路由器里看
所以我建议是在终端里创建容器,并指定ip,群晖的docker控制台实在是太简陋了,虽然易用,但是这种功能都不集成
创建容器并指定ip
docker create --name plex --network bridge-host --ip=192.168.1.5 linuxserver/plex
简单说明一下,用create容器是因为,大量的基础设置都没做,可以创建完容器后修改容器配置
这样创建好的容器可以一个容器占用一个ip的所有端口,所以也就不需要做端口转发了,很多容器的高级功能都需要在这样的网络下,所以有的时候还是会用得上。
emby的话,需要DLNA功能也需要这样创建容器
docker macvlan 官方文档
docker macvlan 官方文档写的非常详细,有具体的例子可以参考
https://docs.docker.com/network/macvlan/#bridge-mode
有些应用程序,特别是传统的应用程序或监控网络流量的应用程序,希望直接连接到物理网络。在这种类型的情况下,你可以使用macvlan网络驱动为每个容器的虚拟网络接口分配一个MAC地址,使其看起来是一个直接连接到物理网络的物理网络接口。在这种情况下,你需要在你的Docker主机上指定一个物理接口用于macvlan,以及macvlan的子网和网关。你甚至可以使用不同的物理网络接口来隔离你的macvlan网络。请记住以下几点。
由于IP地址耗尽或 “VLAN扩散”,很容易在无意中损坏你的网络,这是你的网络中的唯一MAC地址数量不当的情况。
你的网络设备需要能够处理 “混杂模式”,即一个物理接口可以分配多个MAC地址。
如果你的应用可以使用桥接(在单个Docker主机上)或叠加(在多个Docker主机之间进行通信),从长远来看,这些解决方案可能会更好。
教程完
之后有空的话会去写sonarr和radarr的相关文章,追剧讲究个全流程自动化
2020.04.23 已写完
https://sleele.com/2020/03/16/高阶教程-追剧全流程自动化/
可惜目前群晖的docker还不支持ipvlan,DSM7.0还遥遥无期
Error response from daemon: plugin "ipvlan" not found
本文由 NG6 于2020年03月08日发表在 sleele的博客
如未特殊声明,本站所有文章均为原创;你可以在保留作者及原文地址的情况下转载
转载请注明:群晖创建桥接网络-使容器和路由器一个网段 | sleele的博客
你好,我所有的步骤都是按你的教程设定的,但是创建好的容器没有网络,是因为我的主路由虚拟机装的lede的原因吗?
看一下你网段对不对,还有网关和掩码