Dockerfile介绍
Dockerfile 是由一系列命令和参数构成的脚本,通过脚本创建镜像
命令 | 作用 |
---|---|
FROM : |
定义使用的基础镜像启动构建流程 |
MAINTAINER user_name (废弃) | 声明镜像创建人,使用label |
LABEL key1 value1 key2 value2 … |
做标记,没有实际意义 |
ENV key value | 设置环境变量(可以多条) |
RUN command | 容器构建时容器内执行的命令(可以多条,dockerfile的核心部分) |
ADD source_dir/file dest_dir/file | 将宿主机或网络资源的文件复制到容器内。若是宿主机压缩文件,将在复制后自动解压。网络资源不会解压 |
COPY source_dir/file dest_dir/file | 和ADD 相似,但只能从宿主机拷贝文件,若是有压缩文件不会解压 |
WORKDIR path_dir | 设置工作目录 |
CMD | 用户给容器指定运行程序 |
ENTRYPOINT | 类似CMD指令。用户给容器指定运行程序 |
ARG | 可以在构建的时候传入指定参数来覆盖文件中编写的配置 |
ONBUILD | 在镜像被他人使用时执行的命令,不能嵌套使用 |
示例
Dockerfile文件内容
#基础镜像
FROM centos:latest
#作者
MAINTAINER luoqiz
#切换工作目录
WORKDIR /usr
#创建data目录
RUN mkdir -p /usr/local/java-1
#添加jdk包
ADD jdk-8u191-linux-x64.tar.gz /usr/local/java/
#配置环境变量
ENV JAVA_HOME /usr/local/java/jdk1.8.0_191 ENV JRE_HOME $JAVA_HOME/jre ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH ENV PATH $PATH:$JAVA_HOME/bin
执行命令
docker build -t jdk1.8.191:0.0.1 .