在不使用国内镜像的情况下,Linux 中的 Docker 默认不会使用宿主机的系统代理,导致构建失败。
本文记录了为 Docker 配置系统代理的方法,适用于大多数现代 Linux 发行版。
1. 创建配置目录
sudo mkdir -p /etc/systemd/system/docker.service.d
2. 编写配置文件
在该目录下创建配置文件(如 http-proxy.conf):
sudo vim /etc/systemd/system/docker.service.d/http-proxy.conf
写入配置内容(根据实际情况修改代理地址),我这里使用的是 Clash 提供的代理:
[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"
3. 应用配置并重启服务
修改完成后,需要刷新 systemd 配置并重启 Docker 才能生效:
# 刷新 systemd 配置
sudo systemctl daemon-reload
# 重启 Docker 服务
sudo systemctl restart docker
4. 验证生效情况
运行以下命令查看 Docker 的配置信息,如果能看到 Proxy 相关输出,就说明配置成功了:
docker info | grep Proxy