配置 Docker 服务的全局代理

作者:Administrator 发布时间: 2026-04-27 阅读量:10

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 docker

3. 验证配置

执行以下命令检查 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.1

4. 常见问题 (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)