ENV
ENV <key> <value>
ENV <key>=<value> ...
ENV
指令设定环境变量<key>
的值为<value>
。这个变量将会存在在Dockerfile
的整个命令环境当中,可以替换很多环境变量在可能的情况下。
ENV
命令有两种形式。第一种形式,ENV <key> <value>
,会设置一个变量的值。第一个空格后的整个字符串会被当做<value>
包括空格与转义字符。
第二种形式ENV <key>=<value> ...
,允许一次设置多个变量。注意第二种形式在语法中使用了等号,但是第一种并没有。与命令行解析类似,引号和反斜杠可以用在命令当中来包含空格。
例如:
ENV myName="John Doe" myDog=Rex\ The\ Dog \
myCat=fluffy
和
ENV myName John Doe
ENV myDog Rex The Dog
ENV myCat fluffy
会在最后的镜像当中得到相同的结果,你可以看到这些值通过docker inspect
命令,你可以改变他们用docker run --env <key>=<value>
。
注意:环境的持久性可能会导致意外的复用。例如,设置
ENV DEBIAN_FRONTEND noninteractive
可能会迷惑apt-get的用户在Debian系的系统当中。如果要设置一个命令当中的值,使用RUN <key>=<value> <command>
。