level 1
吾志谁与亮
楼主
docker pull是基于dockerd的网络环境,解决方法:1.直接把unraid整个接全局科学,这样会影响ip敏感的pt之类或公网同步之类的服务;2.结合旁路由规划docker容器和unraid网络进行代理分流;3.单独给dockerd加个代理,这样拉镜像docker pull就走这个代理了,不会影响其他容器网络
以3为例
1.unraid docker启动脚本位置在/usr/local/etc/rc.d/rc.docker在webui上的docker操作都会调用这个shell脚本
2.打开rc.docker文件在533行有启动命令nohup $UNSHARE --propagation slave -- $DOCKER -p $DOCKER_PIDFILE $DOCKER_OPTS >>$DOCKER_LOG 2>&1 &
3.在nohup后面增加env https_proxy=http://梯子:端口 http_proxy=http://梯子:端口
vi /usr/local/etc/rc.d/rc.docker
键盘↓找到启动命令,键盘➡移动光标到nohup后,按 i 进入编辑模式,增加完对应参数后按 esc 推出编辑模式,按 : 后输入 wq 然后回车,这样就保存退出了
或者用自己现有的文件管理器filebowser之类的编辑
4.最终命令为

5.在web页面 - setting - docker - enabled docker 把docker no掉再yes打开,重启下docker让环境变量生效
6.像往常一样更新镜像





点击UPDATE ALL后拉取镜像都走梯子了

最后,可以写个sed插入语句加到go文件里,或者写个脚本加到脚本插件里设置阵列启动前运行,实现优雅的自动化,或者就手动执行吧,反正nas也不关机,说不定过几天就解封了
最后吐槽下开源的就是草台班子,docker build都有单独的代理参数设置,多少个版本过去了docker pull啥都没
2024年06月11日 18点06分
1
以3为例
1.unraid docker启动脚本位置在/usr/local/etc/rc.d/rc.docker在webui上的docker操作都会调用这个shell脚本
2.打开rc.docker文件在533行有启动命令nohup $UNSHARE --propagation slave -- $DOCKER -p $DOCKER_PIDFILE $DOCKER_OPTS >>$DOCKER_LOG 2>&1 &
3.在nohup后面增加env https_proxy=http://梯子:端口 http_proxy=http://梯子:端口
vi /usr/local/etc/rc.d/rc.docker
键盘↓找到启动命令,键盘➡移动光标到nohup后,按 i 进入编辑模式,增加完对应参数后按 esc 推出编辑模式,按 : 后输入 wq 然后回车,这样就保存退出了
或者用自己现有的文件管理器filebowser之类的编辑
4.最终命令为

5.在web页面 - setting - docker - enabled docker 把docker no掉再yes打开,重启下docker让环境变量生效6.像往常一样更新镜像





点击UPDATE ALL后拉取镜像都走梯子了
最后,可以写个sed插入语句加到go文件里,或者写个脚本加到脚本插件里设置阵列启动前运行,实现优雅的自动化,或者就手动执行吧,反正nas也不关机,说不定过几天就解封了最后吐槽下开源的就是草台班子,docker build都有单独的代理参数设置,多少个版本过去了docker pull啥都没

