DOCKER ENV 设置环境变量
格式有两种:这个指令很简单,就是设置环境变量而已,无论是后面的其它指令,如 RUN ,还 是运行时的应用,都可以直接使用这里定义的环境变量。这个例子中演示了如何换行,以及对含有空格的值用双引号括起来的办法,这和 Shell 下的行为是一致的。定义了环境变量,那么在后续的指令中,就可以使用这个环境变量。比如在官方 node 镜像 Dockerfile 中,就有类似这样的代码:ENV...
·
格式有两种:
这个指令很简单,就是设置环境变量而已,无论是后面的其它指令,如 RUN ,还 是运行时的应用,都可以直接使用这里定义的环境变量。
这个例子中演示了如何换行,以及对含有空格的值用双引号括起来的办法,这和 Shell 下的行为是一致的。
定义了环境变量,那么在后续的指令中,就可以使用这个环境变量。比如在官方 node 镜像 Dockerfile 中,就有类似这样的代码:
ENV <key> <value>
ENV <key1>=<value1> <key2>=<value2>...
ENV VERSION=1.0 DEBUG=on \
NAME="Happy Feet"
ENV NODE_VERSION 7.2.0
RUN curl -SLO "https://nodejs.org/dist/v$NODE_VERSION/node-v$NOD
E_VERSION-linux-x64.tar.xz" \
&& curl -SLO "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS25
6.txt.asc" \
&& gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.tx
t.asc \
&& grep " node-v$NODE_VERSION-linux-x64.tar.xz\$" SHASUMS256.t
xt | sha256sum -c - \
&& tar -xJf "node-v$NODE_VERSION-linux-x64.tar.xz" -C /usr/loc
al --strip-components=1 \
&& rm "node-v$NODE_VERSION-linux-x64.tar.xz" SHASUMS256.txt.as
c SHASUMS256.txt \
&& ln -s /usr/local/bin/node /usr/local/bin/nodejs
在这里先定义了环境变量 NODE_VERSION ,其后的 RUN 这层里,多次使用 来进行操作定制。可以看到,将来升级镜像构建版本的时候,只
需要更新 即可, Dockerfile 构建维护变得更轻松了。
下列指令可以支持环境变量展开:
、 、 、 、 LABEL 、 USER 、 WORKDIR 、 VOLUME 、
、。
可以从这个指令列表里感觉到,环境变量可以使用的地方很多,很强大。通过环境 变量,我们可以让一份 Dockerfile 制作更多的镜像,只需使用不同的环境变量 即可。
更多推荐
已为社区贡献1条内容
所有评论(0)