需求:当前网络环境很差,docker无法拉取镜像,本地虽然有socks代理,但是docker只支持http/https代理,这里要想办法把socks代理转成http代理
方案:使用privoxy开启一个http代理,然后把监听到的http请求全部转发给socks代理
2020/09/14 更新
发现了更好的方案,可以自行搜索 阿里云docker 镜像加速,配置一个阿里云的docker加速镜像,速度超快!
- 安装privoxy
mac使用brew安装
brew install privoxy
- 配置privoxy
使用brew安装的privoxy配置文件路径为/usr/local/etc/privoxy/config
,直接vim进行修改
# 表示将 / ,也就是所有的请求都转发到xxx端口,最后一个 . 别忘了
forward-socks5 / 127.0.0.1:xxx .
# 表示监听http请求的端口,也就是http代理端口,如果需要监听本机外的请求,需要把127.0.0.1改为 0.0.0.0
listen-address 127.0.0.1:yyy
- 启动privoxy
brew services start privoxy
- 查看启动情况
brew services list
- 重启和关闭
brew services restart privoxy
brew services stop privoxy