CentOS 7下设置Docker代理(Linux下Systemd服务的环境变量配置)

Docker守护程序使用HTTP_PROXYHTTPS_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

posted @ 2018-11-20 12:08  EasonJim  阅读(5052)  评论(0编辑  收藏  举报