群晖的 Docker 无法使用系统代理拉取镜像

2023-10-12 22:27:50 +08:00
 mekingname

背景:已经在 DSM 里面设置了代理。

Docker 的“注册表”功能,可以正常显示镜像列表,说明代理生效了。

双击注册表中的镜像名称,无法下载,查看日志,显示:Fail to pull [镜像名].

ssh 登录群晖,执行 docker pull 镜像名,无法正常下载

export 手动设置代理,再 docker pull 命令,还是无法正常下载。

3300 次点击
所在节点    NAS
27 条回复
liujl
165 天前
1.添加 /etc/docker/env 文件
export HTTP_PROXY=127.0.0.1:8899


2. 编辑 /etc/init/pkg-Docker-dockerd.conf 文件

exec /var/packages/Docker/target/usr/bin/dockerd --config-file /var/packages/Docker/etc/dockerd.json
改为

#exec /var/packages/Docker/target/usr/bin/dockerd --config-file /var/packages/Docker/etc/dockerd.json
script
source /etc/docker/env
/var/packages/Docker/target/usr/bin/dockerd --config-file /var/packages/Docker/etc/dockerd.json
end script

3. 然后,重启 docker 服务,
停止 docker /var/packages/Docker/scripts/start-stop-status stop
启动 docker /var/packages/Docker/scripts/start-stop-status start

接着,你就尽情的 pull 吧,速度拉满

黑群 6.2.3 验证可用,
群晖 7 不知道能不能用,如果有人验证了群晖 7 ,可以留言帮助其他人,谢谢!
StarUDream
161 天前
和 #19 一样也可以直接修改 `/usr/local/lib/systemd/system/pkg-ContainerManager-dockerd.service` 这个文件添加环境变量。
happydanye
154 天前
@liujl 测试有效,感谢!
happydanye
154 天前
@liujl 不过为了以防万一,我加了两个:
export HTTP_PROXY=127.0.0.1:8899
export HTTPS_PROXY=127.0.0.1:8899
liujl
152 天前
@happydanye 您是群晖 7 成功了吗?
uclinch
139 天前
@charley008
我的系统版本是群晖 DSM 7.2.1 update5

亲测按你的步骤操作最后可用。
不过中间遇到了点问题,按你的步骤

touch /etc/systemd/system/pkg-ContainerManager-dockerd.service.d/http-proxy.conf
vim http-proxy.conf
然后重启 docker 不行,,没有环境变量

我直接 vim /etc/systemd/system/pkg-ContainerManager-dockerd.service.d/http-proxy.conf
修改内容
然后

systemctl daemon-reload
systemctl restart pkg-ContainerManager-dockerd.service
systemctl show --property=Environment pkg-ContainerManager-dockerd.service 验证

就可以了。
happydanye
123 天前
@liujl 黑裙 6.2

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/981481

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX