11.dockerfile之ENV指令

一、ENV指令说明


 ENV指令用来在镜像构建过程中设置环境变量,后续的RUN可以使用它所创建的环境变量

当创建基于该镜像的container的时候,会自动拥有设置的环境变量

 

二、ENV案例


首先,编写dockerfile:

#base image
FROM centos

#MAINTAINER,this dockerfile creater
MAINTAINER loose@docker.com

#设置环境变量
ENV env variable

其次,构成镜像:

最后,进入伪交互模式,并通过env命令查询环境变量:

说明:

1.通过ENV定义的环境变量,可以被后面的所有指令中使用,比如我们构建了nginx:v1.0镜像,配置了ENV  env  123;以nginx:v1.0为基础镜像再构建一个新的镜像jdk:v1.0,那么jdk:v1.0也会拥有该环境变量:

再次创建一个镜像,以上方的eng:v1.0镜像为基础镜像:

#base image
FROM eng:v1.0

#MAINTAINER,this dockerfile creater
MAINTAINER loose@docker.com

构建一个新的镜像:

进入交互模式,然后通过env命令查询环境变量:

2.通过ENV定义的环境变量,可以在dockerfile被后面的所有指令中使用

ENV env variable
RUN mkdir $env

3.通过ENV定义的环境变量不能被CMD指令使用,也不能被docker run 的命令参数引用

4.在docker run 命令中通过 -e标记来传递环境变量,这样容器运行时就可以使用该变量:

 

posted @ 2018-04-30 22:27 响指序曲 阅读(...) 评论(...) 编辑 收藏