家里的群晖跑了几十个 docker 服务,目前使用 watchtower 每天计划任务更新,数年来相安无事。 前几天 Docker 直连被和谐以后,我再没收到过 watchtower 更新成功的邮件。 其实我有持续运行的 openclash ,只是一直不想让容器的流量经过旁路由。
我的问题是: 有什么最简单的方式(不要让我重新部署目前的几十个容器),让群晖访问 DockerHub 和更新容器时走代理,而容器本身不走代理?
感谢!
1
Mystery0 163 天前 via Android
帮顶,以前似乎找不到这个东西,要么就都走了代理
|
2
YaD2x 163 天前
参考 docker 代理的几种方式: https://cloud.tencent.com/developer/article/1806455
|
4
anubu 163 天前
似乎不存在代理冲突的问题,自动更新镜像,仅需要 watchtower 和 dockerd 通过代理访问 dockerhub ,和其它业务容器没有关系。配置 watchtower 容器和 dockerd 走代理,不会导致其它业务容器走代理。
|
5
zhgjsony OP |
6
totoro625 162 天前
群晖新建一个 vm ,指定该 vm 走旁路由,里面安装一个 docker registry 作为私有镜像,然后群晖通过该镜像拉取
|
7
9H93q6EKnTVFQDRq 162 天前
还有个办法是套 cdn ,网上有 cloudflare worker 的代码,我试了也挺简单
|
8
StartMenu 161 天前
@zhgjsony 群晖的 docker 配置文件路径跟 docker 官网说的是不一样的。
DSM7.2 的 docker 配置文件: /usr/syno/etc/packages/ContainerManager/dockerd.json /var/packages/ContainerManager/etc/dockerd.json |
9
zhgjsony OP 对于群晖 7.2 ,方法如下,网上搜的都不对:
mkdir -p /etc/systemd/system/pkg-ContainerManager-dockerd.service.d touch /etc/systemd/system/pkg-ContainerManager-dockerd.service.d/http-proxy.conf vim http-proxy.conf 编辑并保存: [Service] Environment="HTTP_PROXY=http://192.168.1.3:1088" Environment="HTTPS_PROXY=http://192.168.1.3:1088" Environment="NO_PROXY=localhost,127.0.0.1" 然后: systemctl daemon-reload systemctl restart pkg-ContainerManager-dockerd.service systemctl show --property=Environment pkg-ContainerManager-dockerd.service 验证 |