Docker for Mac配置Sock5代理

少于 1 分钟 读完全文

  • 今天需要用ES的镜像,发现Docker Hub的镜像已经废弃了,换成了docker.elastic.co镜像。
  • 于是喜闻乐见得被墙了。。。 error pulling image configuration ... EOF 被墙
  • 尝试了下SS的全局代理,发现没有用

方案

  • 利用Privoxy开个Http代理,将http请求转发到Sock5,Docker for mac里配置Http代理。

具体步骤

  1. brew install privoxy
  2. 配置privoxy配置 vi /usr/local/etc/privoxy/config
  3. 增加一行,代表把所有匹配/的请求(也就是所有请求),以sock5协议转发到127.0.0.1:1080,最后一个.代表不转发到http代理
    forward-socks5 / 127.0.0.1:1080 .
    
  4. 将listen-address默认的127.0.0.1改为本机ip或者0.0.0.0
    listen-address  10.15.232.101:8118
    
  5. brew services start privoxy
  6. Docker for Mac的Proxy代理均配为上面的listen-address Proxy配置
  7. 至此,大功告成,可以愉快得拉镜像了

  • 如果Docker for Mac的代理配成了127.0.0.1:8118那么就会出现getsockopt: connection refused.的错误。原因好像是docker命令实际上是运行在docker machine中的,也就是一个跑在Mac上的虚拟机中,所以配成127.0.0.1就会尝试走那台机器的代理,所以会出错。因此,需要配置成本机的真实ip,而不能是lookback address。今天被这个坑了2个小时,ಥ_ಥ 错误

参考资料

分类:

最新的:

留下评论