Linux 下临时给 Docker daemon 配代理

因为访问镜像仓库的是 Docker daemon,不是你当前 shell,所以仅仅在命令前加,通常没用,需要临时给 dockerd 配代理。

新建临时代理配置

sudo mkdir -p /etc/systemd/system/docker.service.d
sudo tee /etc/systemd/system/docker.service.d/http-proxy.conf <<'EOF'
[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"
EOF

重新加载并重启 Docker

sudo systemctl daemon-reload
sudo systemctl restart docker

验证

systemctl show --property=Environment docker
docker pull nginx

用完后取消代理

sudo rm -f /etc/systemd/system/docker.service.d/http-proxy.conf
sudo systemctl daemon-reload
sudo systemctl restart docker