现在Docker换源也下载失败太常见了,至于原因,大家懂得都懂。本文提供一种简洁的方案, 利用 Docker 的http-proxy,代理至本机的 proxy。
文章目录
前言
这里默认你会安装 clash,然后有配置和数据库。
Docker proxy
启动 Clash 后,Docker 默认不会自动通过代理进行网络通信。原因在于 Docker 守护进程作为后台服务运行,不会读取或继承用户的 shell 环境变量,除非在启动时明确指定。为了确保 Docker 在拉取镜像或进行其他网络操作时能够使用代理服务器,需要在 Docker 的服务配置中设置相关代理变量。
首先,确保存在一个目录来存放 Docker 的服务配置。如果该目录不存在,可以通过以下命令创建:
sudo mkdir -p /etc/systemd/system/docker.service.d
然后,使用文本编辑器创建或编辑 http-proxy.conf 文件:
sudo vim /etc/systemd/system/docker.service.d/http-proxy.conf
在打开的编辑器中,输入以下内容:
[Service]
Environment="HTTP_PROXY=http://127.0.0.1:7890"
Environment="HTTPS_PROXY=http://127.0.0.1:7890"
Environment="NO_PROXY=localhost,127.0.0.1,docker-registry.somecorporation.com"
上述配置指定了 HTTP 和 HTTPS 代理指向 127.0.0.1 的 7890 端口。NO_PROXY 环境变量列出了不需要通过代理访问的地址,包括本地地址和内部网络地址等。
完成配置后,重启 Docker 服务以使更改生效:
sudo systemctl daemon-reload
sudo systemctl restart docker
ATFWUS 2024-07-18