是否有Dockerfile Env指令的替代方案?

时间:2015-01-22 13:53:38

标签: docker

在他们的官方网站(https://docs.docker.com/reference/builder/#env)中,Docker支持声明:

  

ENV指令将环境变量设置为值   。该值将传递给所有未来的RUN指令。   这在功能上等同于在命令前加上< key> =<值>

我试过了:

http_proxy=<PROXY> docker build .

然而,这似乎没有带来与添加ENV http_proxy =&lt;相同的效果。 PROXY&gt;在Dockerfile里面。为什么???

1 个答案:

答案 0 :(得分:2)

  

这在功能上等同于在命令前加上&lt; key&gt; =&lt;值&gt;

这并不意味着它与前缀docker build命令相同,因为它是在容器外执行的命令。

这意味着使用ENV与在容器内运行的前缀命令相同。

例如,等效的RUN语句如下所示:

RUN http_proxy=<PROXY> curl https://www.google.com

或者在容器内执行的等效命令(通过shell):

$ http_proxy=<PROXY> curl https://www.google.com