Docker学习总结(六)--Dockerfile

什么是 Dockerfile

Dockerfile 是由一系列命令和参数构成的脚本,这些命令应用于基础镜像并最终创建一个新的镜像。

  • 对于开发人员:可以为开发团队提供一个完全一致的开发环境;
  • 对于测试人员:可以直接拿开发时所构建的镜像或通过 Dockerfile 文件构建一个新的镜像进行测试;
  • 对于运维人员:在部署时,可以实现应用的无缝移植。

常用命令

命令 作用
FROM image_name:tag 使用那个基础镜像启动构建流程
MAINTAINER user_name 申明镜像的创建者
ENV key value 设置环境变量 (可以写多条)
RUN command 是 Dockerfile 的核心部分(可以写多条)
ADD source_dir/file desc_dir/file 将宿主机的文件复制到容器内,如果是一个压缩文件,将会在复制后自动解压
COPY source_dir/file dest_dir/file 和 ADD 类似,但是如果有压缩文件并不能自动解压
WORKDIR path_dir 设置工作目录

使用脚本创建 JDK8 镜像

  1. 创建目录
mkdir -p /usr/local/dockerjdk8
  1. 将下载好的 JDK8 文件拷贝到 /usr/local/dockejdk8 目录下

  2. 创建文件 Dockefile

vim dockerfile

输入如下内容:

#依赖镜像名称和 ID
FROM centos:7
#指定镜像创建者名称
MAINTAINER MarkLogZhu
#设置工作目录
WORKDIR /usr
RUN mkdir /usr/local/java
#ADD 将JDK 添加到容器中
ADD jdk8.tar.gz /usr/local/java

#配置 Java 环境变量
ENV JAVA_HOME /usr/local/java/jdk1.8
ENV JER_HOME $JAVA_HOME/jre
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
ENV PATH $JAVA_HOME/bin:$PATH
  1. 执行命令构建镜像
docker build -t='jdk1.8' .

注意:后面的空格和点不能省略

4)查看镜像是否建立完成

docker images
posted @ 2019-08-28 17:17  MarkLogZhu  阅读(189)  评论(0编辑  收藏  举报