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
