通过代理进行 docker compose pull

前言

最近不知道工信部在抽什么风，一时间几乎 docker 相关的东西全都墙了
那我要怎么 docker compose pull 呢

由于 docker 所有的网络事件是走自己的 docker0 网卡的，所以系统 HTTP_PROXY 之类的对 docker 是没用的......
所以有以下两种办法

使用 OpenWrt

最简单粗暴的办法
此方法适用于自己家的设备使用，推荐直接使用 OpenWrt 和 OpenClash 代理
不用 Wrt 也行，只要是能在设备上一层代理流量就行

修改 dockerd 文件

这个方法通用，不过麻烦一点点
先在本地起一个 clash core，然后挂好代理（或者你用别的 http 代理也行
首先创建一个 dockerd 的 systemd 文件夹，注意这个文件夹下的内容会替换 docker 的默认配置

Copy
mkdir -p /etc/systemd/system/docker.service.d

然后在该目录下新建一个叫 http-proxy.conf 的文件，写入以下内容

Copy
[Service]
Environment="HTTP_PROXY=http://127.0.0.1:7890"
Environment="HTTPS_PROXY=http://127.0.0.1:7890"
Environment="NO_PROXY=ys.mihoyo.com,sr.mihoyo.com,mc.kurogames.com"

保存后重启 docker 服务

Copy
systemctl daemon-reload
systemctl restart docker

输入 docker info 看一眼，可以看见已经配置生效了

然后我们就又可以愉快的 compose pull 了～

结束

至此教程到此结束，如果对你有帮助，欢迎转发给别人
然后还请点个赞，有能力投喂一下，你的点赞是我更新的动力，谢谢喵

此文由 Mix Space 同步更新至 xLog
原始链接为 https://blog.nekorua.com/posts/maintain/125.html