【新手教程】群晖 DSM 7.2 为 Do欧博官网cker 设置 HTTP/HTTPS/SOCKS5

文章正文
发布时间:2025-01-27 20:46

如果你使用的是群晖 NAS (本文在 DSM 7.2 版本测试通过),欧博官网可能会遇到无法下载 Docker 镜像的情况。通过配置代理,你可以轻松绕过这些限制,顺利下载和更新镜像。本教程教你如何为 Docker 设置代理,让 Docker 本身的网络请求走你指定的 HTTP 或 SOCKS5 代理服务器。

为什么需要代理?

国内目前网络环境可能会限制你访问 Docker 镜像库(例如 docker pull 等操作),尤其是官方的国外镜像库。配置 HTTP 或 SOCKS5 代理可以让你绕过这些限制,顺畅地拉取镜像。

操作步骤 1. 登录到群晖 NAS

首先,你需要通过 SSH 连接到你的群晖 NAS。在 DSM 中,进入 控制面板 > 终端机与 SNMP,启用 SSH 服务。然后打开命令行工具(Windows 用 PuTTY,Mac 或 Linux 用 Terminal),输入以下命令:(命令回车执行)

[CMD] Windows SSH 连接服务器教程(系统自带方式)

ssh <用户名>@<NAS_IP>

替换 <用户名> 为你的群晖管理员用户名,<NAS_IP> 为 NAS 的 IP 地址。接着切换到 root 权限(需要输入管理员密码):

sudo -i 2. 为 Docker 创建一个配置文件夹

在 SSH 终端执行以下命令:

mkdir -p /etc/systemd/system/pkg-ContainerManager-dockerd.service.d 3. 创建并编辑代理配置文件

创建一个配置文件来存放代理信息:

touch /etc/systemd/system/pkg-ContainerManager-dockerd.service.d/http-proxy.conf

用 vi 文本编辑器打开它:

vi /etc/systemd/system/pkg-ContainerManager-dockerd.service.d/http-proxy.conf

进入插入模式:按下 i 键,欧博这时你会看到底部出现 — INSERT — 的提示,表示可以开始编辑文本。

输入或粘贴内容: 在文件中添加以下内容,设置 HTTP 和 HTTPS 代理:(shift+insert可粘贴)

[Service] Environment="HTTP_PROXY=http://192.168.1.3:10808" Environment="HTTPS_PROXY=http://192.168.1.3:10808" Environment="NO_PROXY=localhost,127.0.0.1"

如果你使用的是 Socks5 代理,改为:

[Service] Environment="HTTP_PROXY=socks5://192.168.1.3:10808" Environment="HTTPS_PROXY=socks5://192.168.1.3:10808" Environment="NO_PROXY=localhost,127.0.0.1"

如果需要认证,格式如下:

[Service] Environment="HTTP_PROXY=socks5://用户名:密码@192.168.1.3:10808" Environment="HTTPS_PROXY=socks5://用户名:密码@192.168.1.3:10808" Environment="NO_PROXY=localhost,127.0.0.1"

注意:替换 192.168.1.3:10808 和 用户名:密码 为你自己的信息。

保存并退出:

按 Esc 键,退出插入模式。

输入 :wq 然后按 Enter 键,表示保存并退出。

如果在 vi 中不小心进入了错误模式,你可以按 Esc 键,然后输入 :q! 再按 Enter 退出而不保存任何更改。

4. 重新加载并重启 Docker 服务

完成配置后,需要重新加载一下配置文件,并重启 Docker 服务:

systemctl daemon-reload systemctl restart pkg-ContainerManager-dockerd.service 5. 验证代理是否设置成功

接下来,我们验证一下代理设置是否生效。使用以下命令查看 Docker 的环境变量:

systemctl show --property=Environment pkg-ContainerManager-dockerd.service

如果显示的内容中有你刚刚设置的代理信息,说明配置成功:

Environment=HTTP_PROXY=http://192.168.1.3:10808 Environment=HTTPS_PROXY=http://192.168.1.3:10808 Environment=NO_PROXY=localhost,127.0.0.1 6. 测试 Docker 代理

最后,我们通过拉取镜像测试代理是否生效。运行以下命令:

docker pull busybox

如果镜像能正常下载,说明 Docker 已经通过代理成功连接网络。

另外如果要在 Docker 容器内通过代理访问网络,你可以在运行 Docker 容器时,设置环境变量来指定代理,例如:

docker run -e http_proxy=http://your-proxy:port \ -e https_proxy=http://your-proxy:port \ -e no_proxy=localhost,127.0.0.1 \ your-image 总结

恭喜!你已经成功为 Docker 设置了代理。在受限网络环境中,代理是非常有用的工具,帮助你顺利拉取镜像。按照本教程,你只需登录 NAS,创建并编辑配置文件,然后重启 Docker 服务,就能让 Docker 使用代理了。

希望这个简单的指南对你有帮助!赶快试试吧~

参考

为群晖 Container Manager 配置代理

怎样才能让我的 docker 走代理

未经允许不得转载:技术好学屋 » 【新手教程】群晖 DSM 7.2 为 Docker 设置 HTTP/HTTPS/SOCKS5 代理

分享到: (0)

标签:NAS

上一篇
acme.sh + nginx 免费申请 SSL 域名证书
下一篇
Linux Debian 离线安装 Docker 和 Docker Compose 简明指南

相关推荐

评论 8

#0

一步步来的,就是不行。

iceloon2个月前 (11-29)

#0

如果不需要了,如何恢复呢?

losslove2个月前 (11-28)

依次执行:
sudo -i
rm -f /etc/systemd/system/pkg-ContainerManager-dockerd.service.d/http-proxy.conf
systemctl daemon-reload
systemctl restart pkg-ContainerManager-dockerd.service

老D1个月前 (12-16)

#0

确认成功了,第五步确认已经修改完成了,可是还是不能再群晖控制面板里面网络关闭代理,不然docker注册表依然访问不了。拉去速度未有改善,我之前就是群晖网络添加代理,然后注册表同时添加镜像,我不知道现在按您的改了有什么不同,好像不开群晖代理还是未生效

一只氧气3个月前 (10-27)

第六步没成呗, 可能你群晖就访问不到代理, curl -x :1080 试试呗

老D2个月前 (11-06)

作者写的就是只能命令行访问,在GUI界面 注册表查询依旧没有走代理。

hf2周前 (01-06)

我的在注册表查询是没有问题的,注册表用的 https://index.docker.io。 你检查下你的注册表。

老D2天前

首页
评论
分享
Top