共计 608 个字符,预计需要花费 2 分钟才能阅读完成。
我们一般通过设置 http_proxy 环境变量,使得 http 请求,可以走我们设置的 proxy,(一些 go get 镜像无法下载可以这么用),但是对于 docker pull 命令是不生效的,因为 systemd 引导启动的 service 默认不会读取这些变量,所以我们可以通过在 service 文件中加入环境变量解决:
修改 systemd service 文件
docker service 文件 /usr/lib/systemd/system/docker.service:
[Service]
Environment=”HTTP_PROXY=http://proxy.example.com:80/” “HTTPS_PROXY=http://proxy.example.com:80/””NO_PROXY=localhost,127.0.0.1,docker-registry.somecorporation.com”
其中 NO_PROXY 变量指的是那些 http 请求不走代理。
重启 docker 生效
systemctl daemon-reload
systemctl restart docker
TIPS: polipo 可以将 socks5 协议转换成 http 代理。
参考资料
https://docs.docker.com/config/daemon/systemd/#httphttps-proxy
原文地址:http://silenceper.com/blog/20…
正文完