本文编写于 502 天前,最后修改于 502 天前,其中某些信息可能已经过时。
群晖默认网络模式是bridge+host 我们将开启的网络模式bridge-host
Bridge:docker容器内部虚拟网桥,容器内部172.17.0.X网段 无法获取主机网络ip 访问容器需要映射端口 并且不能和主机占用端口冲突 不映射端口无法使用
Host:host模式 将容器绑定到主机网卡使用主机的ip 并且不能和主机占用端口冲突 使用哪些端口自动占用
bridge-host:通过主机的虚拟网卡来创建虚拟网桥 将容器的网卡绑定到这个直通局域网的虚拟网桥上
优点:容器获取到局域网ip, 容器ip和群晖主机一个网段,端口1-65535全端口使用 不和主机冲突 ip手动指定
可以说bridge-host模式就是把容器都桥接到你群晖所在的局域网
那么开始教程
1.首先你的群晖开启SSH,不会的自己百度。
2.打开群晖控制面板=》网络=》网络界面=》管理=》Open vSwitch设置=》勾选启动Open vSwitch=》点击确定
3.打开SSH客户端,
输入sudo -i 再输入密码提权
输入命令ip addr 查看所有网卡
记下ovs_eth0字样的网卡名称,一般为ovs_eth0,ovs_eth1,ovs_eth2等
4.输入以下指令建立bridge-host网桥。
docker network create -d macvlan -o parent=ovs_eth0 bridge-host --subnet=192.168.99.0/24 --gateway=192.168.99.1 --ipv6 --subnet=fe80::f66d:4ff:fe69:5a2c/64 --gateway=fe80::f298:38ff:fe5d:7aa4
-
--subnet=192.168.99.0/24
填写局域网的有效网段
--gateway=192.168.99.1
填写局域网的网关
parent=ovs_eth0
填写第三步记下的虚拟网桥的id
bridge-host
docker内虚拟网桥id,按你喜欢的取
--ipv6 --subnet=fe80::f66d:4ff:fe69:5a2c/64 --gateway=fe80::f298:38ff:fe5d:7aa4
IPV6网段设置,不需要可以留空,subnet为网段,gateway为网关
5.把容器添加到bridge-host虚拟网桥中,启动容器,OK。