Docker 守护进程 (Daemon) 代理配置指南
本指南详细说明了如何配置 Docker 服务的全局代理。此配置主要用于解决由于网络限制导致的 镜像拉取 (docker pull) 缓慢或失败 的问题。
1. 核心原理说明
在 Linux 系统中,Docker 镜像的下载是由 Docker 守护进程(dockerd)完成的。传统的终端 export http_proxy 命令无法作用于该后台服务,必须通过 systemd 的环境变量配置文件来实现。
注意: 此配置仅对镜像拉取生效。运行中的容器(如 qBittorrent、浏览器等)如果需要走代理,仍需单独在容器的环境变量或应用设置中配置。
2. 配置步骤
第一步:创建配置存放目录
在宿主机终端执行以下命令,确保目录存在:
mkdir -p /etc/systemd/system/docker.service.d第二步:创建配置文件
使用 vi 或您熟悉的编辑器创建配置文件:
vi /etc/systemd/system/docker.service.d/http-proxy.conf将以下内容完整复制并粘贴进去:[Service]
Environment="HTTP_PROXY=http://172.16.201.182:20172"
Environment="HTTPS_PROXY=http://172.16.201.182:20172"
Environment="NO_PROXY=localhost,127.0.0.1,docker-registry.somecorporation.com"第三步:重新加载配置并重启服务
执行以下命令使修改生效:
重新加载系统服务配置
systemctl daemon-reload重启 Docker 服务
systemctl restart docker3. 验证配置
执行以下命令检查 Docker 的当前运行状态:
docker info在输出结果的最下方,寻找 Proxy 相关字样。如果看到如下显示,则表示配置成功:
HTTP Proxy: http://172.16.201.182:20172
HTTPS Proxy: http://172.16.201.182:20172
No Proxy: localhost, 127.0.0.14. 常见问题 (FAQ)
为什么我的容器还是打不开网页?
答:如前文所述,此配置仅加速镜像拉取。容器内的流量需要单独通过 Compose 文件的 environment 标签设置代理。
配置后 Docker 无法启动怎么办?
答:请检查 http-proxy.conf 文件中的引号和等号是否正确,并确保没有任何多余的特殊字符。
如何临时测试代理是否通畅?
答:可以在宿主机执行:
curl -I --proxy http://172.16.201.182:20172 https://www.google.com
如果返回 HTTP/1.1 200 OK 或类似信息,说明代理地址是可用的。
文档更新日期:2026年4月27日
(END)