1. 为Docker Daemon配置代理

1.1 使用systemd配置代理

为了使docker pull指令使用代理,需要在/lib/systemd/system/docker.service中的[Service]片段下添加HTTP_PROXY和HTTPS_PROXY环境变量:

[Service]
# 新增环境变量提供代理服务器信息
Environment="HTTP_PROXY=http://127.0.0.1:1180"
Environment="HTTPS_PROXY=http://127.0.0.1:1180"
# 如果使用了国内镜像源可以配置镜像服务器不使用代理
Environmeng="NO_PROXY=<registry.domain>"
ExecStart=...
...

注意:尖括号<>中的内容需要替换为自己的代理服务器信息

随后刷新配置:

systemctl daemon-reload

此时可以通过以下指令检查配置是否加载成功:

systemctl show --property Environment docker
# 输出
Environment=HTTP_PROXY=http://<user>:<password>@<domain>:<port> HTTPS_PROXY=http://<user>:<password>@<domain>:<port> NO_PROXY=<registry.domain>

重启Docker服务使配置生效

systemctl restart docker

重启成功之后通过docker info指令查看docker服务中的代理配置

docker info | grep Proxy
# 输出
HTTP Proxy: http://<user>:<password>@<domain>:<port>
HTTPS Proxy: http://<user>:<password>@<domain>:<port>
No Proxy: <registry.domain>

此时再使用docker pull指令拉取镜像时Docker服务会使用代理服务器拉取镜像。