Docker守护程序使用HTTP_PROXY
,HTTPS_PROXY
以及NO_PROXY
环境变量在其启动环境来配置HTTP或HTTPS代理的行为。无法使用daemon.json
文件配置这些环境变量。
此示例将覆盖默认docker.service
文件。
在设置中,需要在Docker systemd服务文件中添加此配置
如果使用HTTP代理服务器时,将为docker服务创建systemd插件目录:
mkdir -p /etc/systemd/system/docker.service.d
创建一个名为的文件/etc/systemd/system/docker.service.d/http-proxy.conf
,添加HTTP_PROXY
环境变量:
[Service]
Environment="HTTP_PROXY=http://proxy.example.com:80/"
或者,如果使用HTTPS代理服务器,那么再创建一个名为/etc/systemd/system/docker.service.d/https-proxy.conf
添加HTTPS_PROXY
环境变量 :
[Service]
Environment="HTTPS_PROXY=https://proxy.example.com:443/"
为Docker配置不代理的地址时,可以通过NO_PROXY
环境变量指定它们,比如HTTP代理服务器的配置:
[Service]
Environment="HTTP_PROXY=http://proxy.example.com:80/" "NO_PROXY=localhost,127.0.0.1,docker-registry.somecorporation.com"
或者,HTTPS代理服务器的配置:
[Service]
Environment="HTTPS_PROXY=https://proxy.example.com:443/" "NO_PROXY=localhost,127.0.0.1,docker-registry.somecorporation.com"
重新读取服务的配置文件:
systemctl daemon-reload
重启Docker:
systemctl restart docker
验证是否已加载配置:
systemctl show --property=Environment docker
参考:
https://docs.docker.com/config/daemon/systemd/#httphttps-proxy