docker daemon 代理 vs 自建镜像站

154 天前
 nagisaushio

我自己一直都是用以下方式给 docker daemon 加代理:假如本地 http 代理地址是 127.0.0.1:1082 ,则修改文件 /etc/systemd/system/multi-user.target.wants/docker.service (不同系统可能位置不一样):

...
[Service]
Type=notify
# 注意下面两行
Environment="HTTP_PROXY=http://127.0.0.1:1082"
Environment="HTTPS_PROXY=http://127.0.0.1:1082"
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
ExecReload=/bin/kill -s HUP $MAINPID

...

这样用了很久一直没什么问题,因此对镜像站也没什么需求。但最近看到好多自建 docker 镜像站的帖子,却少有看到推荐这个方法的。比较好奇有什么场景是 docker daemon proxy 所无法解决的吗?

2353 次点击
所在节点    程序员
9 条回复
xiri
154 天前
服务器等环境没有代理
qinxi
154 天前
本地当然没问题了, 都能上 V 站了, 肯定都会翻了. 问题时有些地方没有代理, 也不能使用.
TabGre
154 天前
我通过 docker 搭的 clash 一直过不去
caola
154 天前
我本地是用代理,但其他地方还真不方便使用代理, 然后就弄过两种方式:一种是反代镜像(不缓存),还有一种就是在防火墙上弄一下端口转发,再设置一上 hosts 指向
mohumohu
154 天前
这样有个小问题好像是容器启动之后会用到这个环境变量,不该走代理的程序可能走了代理
cdlnls
154 天前
这个方法我也一直在用,不过不是加的环境变量,改的 dockerd 启动参数,可以指定 --https-proxy ,效果一样。
totoro625
154 天前
用镜像而不是部署代理的原因是:
1. 腾讯云、阿里云曾经检测到代理软件的存在直接封机器(甚至不论你是否运行)
2. 机器不是自己独享的,梯子账户是自己的
3. 批量部署麻烦,不能每个机器都配置代理
4. 梯子也有成本
Gldwolf
154 天前
Gldwolf
154 天前
@Gldwolf v23.0 及以后版本也可以这么配置 daemon proxy, ref: https://docs.docker.com/config/daemon/systemd/

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

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

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

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

© 2021 V2EX