docker pull 翻墙下载镜像

我们一般通过设置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...

相关推荐