--- title: "Docker Daemon 代理" type: concept tags: [docker, proxy] last_updated: 2026-04-17 --- ## Definition Docker Daemon 代理是指为 Docker 守护进程(dockerd)配置 HTTP/HTTPS 代理,使 `docker pull`、`docker push` 等操作能够通过代理服务器访问外部网络。 ## Problem Docker 守护进程由 systemd 启动,不读取普通用户的 shell 环境变量(如 HTTP_PROXY、HTTPS_PROXY),因此即使系统级配置了代理,Docker 操作仍可能失败。 ## Solution 通过 systemd drop-in 配置文件为 Docker Daemon 设置环境变量: 1. 创建配置目录:`sudo mkdir -p /etc/systemd/system/docker.service.d` 2. 创建代理配置文件:`sudo nano /etc/systemd/system/docker.service.d/http-proxy.conf` 3. 添加内容: ``` [Service] Environment="HTTP_PROXY=http://127.0.0.1:10808/" Environment="HTTPS_PROXY=http://127.0.0.1:10808/" Environment="NO_PROXY=localhost,127.0.0.1" ``` 4. 重载并重启:`sudo systemctl daemon-reload && sudo systemctl restart docker` ## Verification ```bash docker info | grep -i proxy ``` ## Related Concepts - [[SOCKS5代理]]:SOCKS5 代理协议 - [[透明代理]]:另一种强制流量走代理的机制 - [[科学上网]]:通过代理服务器绕过网络限制访问被封锁网站的技术