前段时间不少国内镜像源都突然莫名其妙不能用了,也没个具体说明,我等草民只能胡思乱猜。翻了翻docker的官方文档,倒腾了下clash代理docker,基本也能正常拉取镜像。
参考官方文档:https://docs.docker.com/config/daemon/systemd/#httphttps-proxy
效果图, clash for windows的截图,可以看到clash已经代理了docker的请求。因为房东的网不太行,看起来网速一般,但能拉取到就算是成功吧。
一开始我的虚拟机里面docker版本是20,在systemd配置文件中按照官方文档试了几次配置HTTP_PROXY
和HTTPS_PROXY
都不行。因为官方文档说在23版本之后支持在daemon.json
文件中配置代理,所以最后试了下升级docker到最新版的26.1.4,结果一次试成功。可能是版本问题,也可能是配置问题。因为已经试通了,所以就没再多试了,感兴趣的话可以自行尝试。
/etc/docker/daemon.json
,添加以下内容。其中192.168.1.106:7890
是我局域网中的代理服务器地址,需要修改为自己的代理服务器地址。因为代理服务器不支持https协议代理,所以https_proxy
也是用http
协议。{
"proxies": {
"http-proxy": "http://192.168.1.106:7890",
"https-proxy": "http://192.168.1.106:7890"
}
}
sudo systemctl daemon-reload
sudo systemctl restart docker
docker pull nginx
代码1:class cla: def __init__(self): #raise NameError # 抛出异常 print(r) cla() 运行截图: