给 Docker pull 命令添加 clash 代理

发布于 2024-06-11  645 次阅读


最近大片的 Docker 镜像网站宣布关停。加强限制。现在(2024-06-11) 直接使用 docker pull 命令已经是完全无法连接了。不再是下载速度缓慢,而是直接阻断。

我们可能正处于历史的转折点,需要一些教程来引领大家应对方法的方向。有可能接下来 docker 的国内镜像逐渐退出舞台。

首先是测试docker镜像是否能用的方法:

镜像网站直接访问是空白页面,在网址后面加上 /v2/ 如果收到了响应。响应头中有 docker-distribution-api-version: registry/2.0 说明这个镜像网站还没挂。

研究好多方法。最后发现稳定的方法只能是走代理。而网上的教程绝大多数是过时的。因为放在以往,大家都是希望使用国内的镜像加速,因为 Docker 官方的只是下载缓慢。

下面以服务器/本地电脑为例。准备好 clash 代理。

说明:单单给 bash 添加 http_proxy 环境变量是不行的。实测,pull 命令仍然无法连接。


创建并编辑这个文件sudo nano /etc/systemd/system/docker.service.d/proxy.conf

添加下面内容,和给 bash 添加 clash 代理是类似的。

[Service]
Environment="HTTPS_PROXY=127.0.0.1:7890"
Environment="HTTP_PROXY=127.0.0.1:7890"

然后重启 docker

sudo systemctl daemon-reload
sudo systemctl restart docker

之后 docker pull 就会走 clash 代理了。