群晖 Docker 镜像下载太慢?一招“魔法”搞定 Container Manager 加速!
还在为群晖 NAS 上 Container Manager (Docker) 镜像下载进度条纹丝不动而烦恼吗?由于网络原因,直接从官方 Registry 拉取镜像是有些困难。今天,我们就用最简单、最直接的方法——通过系统服务级设置 HTTP 代理(俗称“魔法”),让你的 Docker 镜像下载飞起来!
🚀 准备工作
在正式开始之前,请确保您已经:
开启了群晖的 SSH 功能(控制面板 -> 终端机和 SNMP -> 勾选 SSH 服务)。
拥有一个可用的 HTTP/HTTPS 代理服务器(请获取其内部 IP 地址和端口,例如192.168.5.10:7899)。
使用终端工具(如 Putty, Xshell, Terminal)连接到了群晖 NAS。
注意:本教程适用于群晖较新版本的 Container Manager(原 Docker),使用的是pkg-ContainerManager-dockerd.service服务名。
第一步:创建配置目录
我们需要在系统服务目录下创建一个特定的.d目录,用于存放我们的自定义代理配置。这个目录下的配置会覆盖默认设置。
sudo mkdir -p /etc/systemd/system/pkg-ContainerManager-dockerd.service.d第二步:写入代理配置
最关键的一步:准备好您自己的代理服务器地址和端口。
请将其中的192.168.5.10:7899替换为你自己的“魔法”地址。然后,整段复制并运行以下命令,它会直接创建并写入http-proxy.conf文件:
cat <<EOF > /etc/systemd/system/pkg-ContainerManager-dockerd.service.d/http-proxy.conf[Service]Environment="HTTP_PROXY=http://192.168.5.10:7899"Environment="HTTPS_PROXY=http://192.168.5.10:7899"Environment="NO_PROXY=localhost,127.0.0.1,::1,192.168.0.0/16,172.16.0.0/12,10.0.0.0/8,.local,unix:///,docker.internal"EOF
小贴士:
NO_PROXY列表用于指定哪些流量不通过代理。上述配置包含了本地回环、局域网段和 Docker 内部通信,确保本地功能不受影响。
第三步:重启服务应用配置
配置文件已就绪,现在需要告知系统重新加载配置,并重启 Docker 服务使其生效。
重新加载 Daemon 配置:
systemctl daemon-reload重启 Container Manager 服务:
systemctl restart pkg-ContainerManager-dockerd.service第四步:验证是否成功
要确认代理配置是否已被正确加载,我们可以查看刚才创建的文件内容:
cat /etc/systemd/system/pkg-ContainerManager-dockerd.service.d/http-proxy.conf成功标志:如果终端输出的内容中,HTTP_PROXY和HTTPS_PROXY的值是您自己的代理服务器 IP 和端口,那么恭喜您,配置成功!
现在,回到群晖 Container Manager 界面,尝试拉取一个之前下载很慢的镜像,看看速度是不是已经飞起来了?🎉
总结
这个方法通过 Systemd 服务级的配置,强制 Docker 进程使用指定的 HTTP 代理,非常有效。如果您使用的是旧版群晖 Docker(非 Container Manager),服务名可能是docker.service,但操作原理是一样的。希望这个“魔法”能彻底解决您的燃眉之急!
夜雨聆风