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>

results matching ""

    No results matching ""