一、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標記來傳遞環境變量,這樣容器運行時就可以使用該變量:

