内容提要
本文介绍了为黑群晖的Docker Bridge网络开启IPV6支持的方法,包括手动添加ip6tables模块、配置Docker和在Docker Compose中启用IPV6。
延伸解读
为何需要手动加载 ip6tables 模块
群晖 DSM 系统基于魔改版 Linux,默认未内置 ip6tables 模块,导致 Docker Bridge 网络无法支持 IPv6。文章指出,必须从 syno-iptables 仓库下载对应 CPU 架构和内核版本的模块文件,并手动复制到系统目录,再通过 insmod 命令加载。这一步骤是后续配置的基础,若跳过则 Docker 无法启用 IPv6 支持。
Docker 配置文件的版本差异
DSM 7.2 之后,Docker 套件更名为 Container Manager,其配置文件路径从 /var/packages/Docker/etc/dockerd.json 变为 /var/packages/ContainerManager/etc/dockerd.json。文章提醒,修改 dockerd.json 时需根据系统版本选择正确路径,否则配置不会生效。这反映了群晖系统更新对 Docker 管理方式的影响,操作前需确认 DSM 版本。
Bridge 网络与 Host 网络的取舍
文章提到,虽然 Host 网络可以简单地为容器开启 IPv6 访问,但会失去在同一个 Compose 中使用容器名互访的能力,也无法映射端口。因此,作者选择为 Bridge 网络开启 IPv6 支持,以兼顾 IPv6 连通性和容器间通信的便利性。读者需根据自身需求权衡两种网络模式的利弊。
Q&A
如何在群晖上为Docker Bridge网络开启IPv6支持?
需要手动添加ip6tables模块,配置Docker,并在Docker Compose中启用IPv6支持。
为什么Docker的Bridge网络默认不支持IPv6?
因为Docker的Bridge网络在默认设置中未启用IPv6,导致容器无法访问IPv6站点。
在群晖上如何下载和上传ip6tables模块?
前往syno-iptables仓库,下载适合群晖CPU架构和内核版本的ip6tables模块,并上传到群晖的任意文件夹中。
如何通过SSH在群晖上加载ip6tables模块?
通过SSH进入群晖,执行相应的insmod命令加载ip6tables模块。
在Docker Compose中如何启用IPv6支持?
只需在Docker Compose配置中添加相应的IPv6支持配置即可。
SA6400是否适用本教程?
不适用,本教程仅适用于黑群晖和白群晖。