今天装Docker,在下载image的时候总是链接被重置,用Proxychain也没法代理。通过Google找到https://stackoverflow.com/questions/23111631/cannot-download-docker-images-behind-a-proxy/28093517#28093517,官方文档地址:https://docs.docker.com/engine/admin/systemd/#http-proxy 。通过配置文件来指定http代理。

具体步骤如下:

  1. /etc/systemd/system目录下创建docker.service.d目录
  2. docker.service.d目录中创建文件http-proxy.conf文件
  3. 在配置文件中添加:
1
2
[Service]
Environment="HTTP_PROXY=http://proxy.example.com:80/"
  1. 可以使用NO_PROXY变量指定不走代理的地址:
1
Environment="NO_PROXY=localhost,127.0.0.0/8,docker-registry.somecorporation.com"
  1. 运行sudo systemctl daemon-reload更新设置
  2. 使用systemctl show --property=Environment docker来查看设置是否生效
1
Environment=HTTP_PROXY=http://proxy.example.com:80/
  1. 重启Docker:sudo systemctl restart docker

我的系统是Ubuntu 16.04,用ss-qt来科学上网,代理服务器的地址填写ss的地址就可以了。要注意ss应设置为http代理而不是socks5。