给unraid docker临时挂个梯子更新下镜像
unraid吧
全部回复
仅看楼主
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
level 11
等我5分钟试一下
2024年06月12日 03点06分 2
确实可以拉了,大家放心使用。
2024年06月12日 03点06分
level 11
有效吗
2024年06月12日 13点06分 3
level 4
去论坛看下吧,有官方插件,那用那么麻烦
2024年06月13日 02点06分 4
给作者提了个issue,看能不能增加dockerd代理设置 https://github.com/ludoux/unraid-proxy-editor/issues/4
2024年06月13日 03点06分
@吾志谁与亮 如果你想某个docker走代理,应该自定义某个docker镜像的网络走旁路由网关,我是这样理解的
2024年06月13日 03点06分
@xkrxkr游戏 docker pull是单独基于dockerd的网络环境,dockerd是用nohup拉起来并且用unshare隔离成新的命名空间,跟你理解的容器走代理不同,容器添加代理只影响这个容器,dockerd增加代理影响docker pull拉镜像,wegt添加代理影响ca商店打开/下载和plugins更新
2024年06月13日 04点06分
插件设置代理ca只会影响你下应用. pull docker和更新插件,设置系统代理只影响系统更新,你完全不了解这插件和unraid系统
2024年06月13日 04点06分
level 4
2024年06月13日 03点06分 5
@吾志谁与亮 都说了不会影响docker容器[狂汗]你的理解有问题
2024年06月13日 03点06分
很早的时候看过了,这个实现了2个功能,一个是ca代理就是给wget加了http_proxy环境变量,另一个是给unraid加代理,我的目的是只让docker pull走代理,其他不变,不用停pt,不影响p2p同步,说白了就是不想让unraid整个走代理,没有性能强的旁路由,上万种的连接扛不住
2024年06月13日 03点06分
这个就是只有ca代理,不会影响docker和其他,完全符合你的要求
2024年06月13日 03点06分
@xkrxkr游戏 [惊哭]我需要docker pull拉镜像走代理且不影响运行中的容器,不需要ca走代理
2024年06月13日 03点06分
level 4
我用这插件几年了,要求如你的一样,完全没问题,你可能是那里没设置好
2024年06月13日 04点06分 6
这个插件没用,只能ca市场安装插件,不能pull docker,楼主的方法才可以。我刚试玩,你今天去试试
2024年06月20日 11点06分
你和楼主说的不是一回事。楼主要的是通过代理拉镜像,这个插件不支持设置docker的拉镜像走代理,它是单独独立的环境。注意, 不是给容器设置代理
2024年08月02日 04点08分
level 4
为什么我用这个插件无效果
2024年06月13日 05点06分 7
我也是
2024年06月14日 04点06分
我也是....
2024年06月17日 05点06分
level 11
测试可用,感谢大佬分享,这段时间docker真的是折腾惨了,不全家做飞机都拉不到镜像[泪]
2024年06月18日 08点06分 8
level 9
新手请问rc.docker这个文件怎么找?我找不到,usr文件夹也没找到
2024年06月19日 05点06分 9
level 7
谢谢大佬。方法很好用。。
2024年06月20日 08点06分 10
level 1
亲测有效,感谢楼主分享。楼上说找不到路径的,可以用开启ssh进入查找,不过我的路径和楼主不太一样,我的是/etc/rc.d
2024年06月20日 20点06分 12
unRaid 6.12.10两个路径都有,用ls -l检查了下发现是软连接的,改哪个都行。 /etc/rc.d/rc.docker -> /usr/local/etc/rc.d/rc.docker*
2024年06月23日 07点06分
level 1
特意登录下帐来回复,确实有效!!!
2024年06月24日 07点06分 14
level 1
这种方式还是很麻烦的,主要是有些docker重启后需要重新部署,非常麻烦,要是可以不用重启docker服务就好了
2024年06月24日 07点06分 15
要是不用重启服务就好了,docker build都能指定代理去拉镜像layer,docker pull有这个参数就好了
2024年06月28日 17点06分
@吾志谁与亮 请教一下,不用重启docker服务也可以吗
2024年06月29日 06点06分
level 3
mark一下
2024年06月28日 01点06分 16
1 2 尾页