在其官方网站(
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