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

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

The ENV instruction sets the environment variable to the value
. This value will be passed to all future RUN instructions.
This is functionally equivalent to prefixing the command with < key >=< value >

我试过了:

http_proxy=<PROXY> docker build .

但是,这似乎没有带来与添加ENV http_proxy = 在Dockerfile里面.为什么???

最佳答案

This is functionally equivalent to prefixing the command with < key >=< value >

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

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

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

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

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

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