使用环境变量的Docker代理设置

时间:2018-02-12 13:34:42

标签: docker proxy

在公司代理人后面工作..

为什么docker不能从环境变量中导出代理特定值 (http_proxy, https_proxy,...)。

通常在拉动图像时会出现超时问题,即使在环境可用的环境中提及代理网址也是如此。

我必须在/etc/systemd/system/docker.service.d文件夹中创建配置文件,或者在docker run -e env_proxy_variable=proxy_url文件夹中设置值(再次硬编码相同的值)。

如果我们更改代理网址,我们必须在不同的地方进行更改。或者有没有办法从环境变量中引用该值?

我已经尝试了.Editable(editable => editable .Mode(GridEditMode.PopUp) .Window(w => w.Width(600)) .TemplateName("Inspection") ) ,但遇到了相同的超时问题。

2 个答案:

答案 0 :(得分:0)

请考虑使用以下代码:

export HTTP_PROXY=http://xxx:port/
export HTTPS_PROXY=http://xxx:port/
export FTP_PROXY=http://xxx:port/

您可以在 / etc / default / docker 文件中对这些变量进行硬编码,以便在启动docker时导出它们。

答案 1 :(得分:0)

您可以通过键入$(name_of_var)来检查是否已导出环境变量。例如,运行

之后

docker run --env HTTP_PROXY="123.45.21.32" -it ubuntu_latest /bin/bash

类型

echo $HTTP_PROXY

您的DNS服务器可能未配置。尝试

cat /etc/resolv.conf

如果您看到类似这样的内容:

nameserver:8.8.8.8

那么在防火墙后很可能无法访问DNS服务器。您可以像这样通过docker run命令传递dns服务器地址:

docker run --env HTTP_PROXY="123.45.21.32" --dns=172.10.18.0 -it ubuntu_latest /bin/bash