• ENV <key1>=<value1> <key2>=<value2>...

    这个指令很简单,就是设置环境变量而已,无论是后面的其它指令,如 RUN,还是运行时的应用,都可以直接使用这里定义的环境变量。

    定义了环境变量,那么在后续的指令中,就可以使用这个环境变量。比如在官方 node 镜像 Dockerfile 中,就有类似这样的代码:

    1. ENV NODE_VERSION 7.2.0
    2. RUN curl -SLO "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-x64.tar.xz" \
    3. && curl -SLO "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \
    4. && gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc \
    5. && tar -xJf "node-v$NODE_VERSION-linux-x64.tar.xz" -C /usr/local --strip-components=1 \
    6. && rm "node-v$NODE_VERSION-linux-x64.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt \
    7. && ln -s /usr/local/bin/node /usr/local/bin/nodejs

    下列指令可以支持环境变量展开: ADD、、ENVEXPOSEFROMLABELUSERWORKDIRVOLUMESTOPSIGNALONBUILD、。