群晖 | 将Docker的网络模式从bridge切换到host

目的是让docker容器可以使用ipv6网络

需求

之前用docker版qb,一直没啥问题,但是前几天给屋里的ipv6捣鼓出来了,所以就想着能不能让qb也用上ipv6,增加连通性。

弯路

网上找了一些教程,都是说创建一个ipv4和ipv6双通的macvlan网络,跟着整了出来。

但是命令里需要指定ipv6子网,我的设备的ipv6地址并不是静态的,所以就放弃了。

解决方法

又找了找方法,有人提到将docker的网络模式设置为host,可以让docker容器使用宿主机的网络信息。

遇到新问题

在群晖的docker容器设置里可以更改很多属性,但并不包括网络模式,网络模式在创建容器的时候就已经定死了,我又不想重新转种。

解决方案

摸索了一下,在群晖的容器界面可以将容器导出,导出的文件是json,里边包含了所有的容器参数,当然也包含了网络模式和文件夹映射。

修改json文件,将网络模式从bridge切换到host,再在群晖中导入,启动容器,就可以连上ipv6的用户了。

当然这么做的前提是旧的docker容器做过文件夹映射,不然文件夹都在docker内部,换个容器所有的做种都没了。