通过终端获取用于mac代理变量的Docker
我在代理之后使用Docker for mac。 我在Docker GUI中的“代理” - >“手动代理配置”下设置了代理配置。 这使我可以从代理后面的存储库下载Docker镜像。
接下来,我设置了http_proxy
和https_proxy
环境变量,并在docker-compose.yml中使用它们将它们传递给构建:
services:
app:
build:
context: .
args:
http_proxy: $http_proxy
https_proxy: $https_proxy
我如何获取通过终端中的Docker GUI设置的变量,因此我不必将它们设置两次? 是否有我可以使用的特定于Docker的环境变量?
如果我正确理解你想要的,那么你只需要阅读docker info
给出的内容:
❯ docker info | grep Proxy
Http Proxy: http://localhost:3128
Https Proxy: http://localhost:3128
如果这两个设置在GUI中,它们将出现在输出结尾附近。 如果他们没有设置,他们将不会,而在我的情况下,将不会出现No Proxy: *.local, 169.254/16
。
安装proxycap或redsocks,并免除所有工具令人讨厌的代理错误,而不仅仅是Docker。 Proxycap / Redsocks将流量透明地重定向到您拥有的指定代理,因此您不再配置任何代理设置。
更新 :如果您无法将其安装在主机上,则有一个用于红袜子的码头图像。 https://hub.docker.com/r/ncarlier/redsocks/
我的最佳知识是:这是不可能的。
我得到的唯一想法是使用某种iptable规则(我猜mac中有类似的东西),将外部ip包重定向到代理。 这意味着你的码头是干净的,如果你是在代理之后,你只需激活/停用规则。
这并不容易,但它是可行的。
链接地址: http://www.djcxy.com/p/96977.html上一篇: Getting Docker for mac proxy variables through terminal