编辑配置文件

  1. http代理
sudo vi /etc/systemd/system/docker.service.d/http-proxy.conf
[Service]    
Environment="HTTP_PROXY=http://proxy.example.com:80/" "NO_PROXY=localhost,127.0.0.1,docker-registry.example.com,.corp"
  1. https代理
sudo vi /etc/systemd/system/docker.service.d/https-proxy.conf
[Service]    
Environment="HTTPS_PROXY=https://proxy.example.com:443/" "NO_PROXY=localhost,127.0.0.1,docker-registry.example.com,.corp"
  1. 解析

解析:

主要是两点内容:

i. HTTPS_PROXY 将它的值对应到您所希望设置的代理服务地址和端口(例如: HTTPS_PROXY=https://proxy.example.com:443),我这里为了保护隐私,就用xxx代替.

ii. NO_PROXY 意味着某些情况下我们不需要使用HTTPS代理来访问,一般这就配置私有仓库的路径(例如:NO_PROXY=localhost,127.0.0.1,mydocker-registry.com:5000)

完成修改后保存/刷新

##Flush changes:
#systemctl daemon-reload

##Restart Docker:
#systemctl restart docker

验证是否已加载配置

  1. http代理
systemctl show --property=Environment docker
Environment=HTTP_PROXY=http://proxy.example.com:80/
  1. https代理
systemctl show --property=Environment docker
Environment=HTTPS_PROXY=https://proxy.example.com:443/

文章抄自:使用systemd控制Dockerdocker - 设置HTTP/HTTPS 代理