是否有替代Dockerfile Env指令?

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

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

我试过了:

http_proxy=<PROXY> docker build . 

但是,这似乎并没有像在Dockerfile中添加ENV http_proxy = <PROXY>一样的效果。 为什么?

这在function上等同于在<key> = <value>前加上命令

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

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

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

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

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

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