ENV 设置环境变量
语法形式:
ENV <key> <value>
ENV <key>=<value>...
note:对第一种形式,第一个空格之后的所有字符串、包括引号和空格,都是value所代表的值
第二种形式允许同时设置多个环境变量、如下:
ENV myName="John Doe" myDog=Rex\ The\ Dog \
myCat=fluffy
以及
ENV myName John Doe
ENV myDog Rex The Dog
ENV myCat fluffy
使用ENV设置的环境变量将在从上层镜像运行容器时保留,可以通过docker inspect查看环境变量相关信息
注:
环境变量持久使用可能会导致一些预料之外的情况,比如给环境变量 DEBIAN_FRONTEND 设置为非交互模式,可能会给以debian系统为基础镜像,使用apt-get的用户带来困扰
为单个命令设置一个值可以使用RUN <key>=<value> <command>
这里说明下交互模式和非交互模式,这时shell命令的两种执行模式,具体说明如下:
noninteractive-非交互模式:shell不与人交互,而是读取存放在文件中的命令,并且执行他们。当读到文件结尾时,shell终止
Interactive-交互模式:shell等待输入,执行输入所提交的命令,用退出之后,shell终止