我一直在尝试通过本地 socks5 代理运行 docker,我尝试将环境变量设置为:
export ALL_PROXY=127.0.0.1:1080
但这并没有什么区别,就好像 Docker 没有阅读它一样,我也尝试将配置放入~/.docker/config.json
:
{
"proxies":
{
"default":
{
"httpProxy": "socks5://127.0.0.1:1080"
}
}
}
但这也不起作用。有什么问题,如何在 Ubuntu 上使用 socks5 代理运行 Docker?
通过后来的一些研究,我找到了答案,Ubuntu 中的 docker 服务与用户的环境变量无关,但如果将其传递给 docker 服务本身,它就可以工作。
我通过在
/lib/systemd/system/docker.service
文件中添加以下行来使其工作,就在之前ExecStart
:所以我的 docker.service 文件看起来像这样:
这似乎已经为我解决了这个问题,它正在 Ubuntu 20.04 上运行。我认为将其张贴在这里可能会在将来对其他人有所帮助。
另一种解决方案是使用
privoxy
并将其转发到您的 socks5 代理,以便您可以使用 privoxy 作为 https/http 代理。