第二章|第二章 使用Dockerfile制作Docker镜像

Dockerfile最重要的常用命令

命令
作用
FROM image_name:tag
定义了使用哪个基础镜像启动构建流程
MAINTAINER user_name
声明镜像的创建者
ENV key value
设置环境变量 (可以写多条)
RUN command
是Dockerfile的核心部分(可以写多条)
ADD source_dir/file dest_dir/file
将宿主机的文件复制到容器内,如果是一个压缩文件,
将会在复制后自动解压
COPY source_dir/file dest_dir/file
和ADD相似,但是如果有压缩文件并不能解压
WORKDIR path_dir
设置工作目录
EXPOSE port1 prot2
用来指定端口,使容器内的应用可以通过端口和外界交

CMD argument
在构建容器时使用,会被docker run 后的argument覆

ENTRYPOINT argument
和CMD相似,但是并不会被docker run指定的参数覆盖
VOLUME
将本地文件夹或者其他容器的文件挂载到容器中

.演示使用脚本创建JDK8镜像 首先要去Oracle官方网站上下载一个用在linux上的jdk8,比如说:第二章|第二章 使用Dockerfile制作Docker镜像
文章图片

【第二章|第二章 使用Dockerfile制作Docker镜像】然后开始创建镜像的操作
第一步:创建目录
mkdir –p /usr/local/dockerjdk8放在哪,起什么名字无所谓,您自己记住就行
第二步:将下载下来的jdk8上传到linux服务其中
第三步:编写DockerFile脚本文件
vi Dockerfile
第二章|第二章 使用Dockerfile制作Docker镜像
文章图片




#依赖镜像名称和ID
FROM centos:7
#指定镜像创建者信息
MAINTAINER ITCAST
#切换工作目录
WORKDIR /usr
RUN mkdir /usr/local/java
#ADD 是相对路径jar,把java添加到容器中
ADD jdk‐8u171‐linux‐x64.tar.gz /usr/local/java/
#配置java环境变量
ENV JAVA_HOME /usr/local/java/jdk1.8.0_171
ENV JRE_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

第二章|第二章 使用Dockerfile制作Docker镜像
文章图片

执行命令构建镜像
dockerbuild -t=’jdk1.8’ .
注意:
在此空格 + . 千万不能省略 代表在当前目录下寻找
-t =’’里面的东西可以瞎写,就是制作好镜像后的镜像镜像名称

第二章|第二章 使用Dockerfile制作Docker镜像
文章图片

查看镜像是否建成
docker images
第二章|第二章 使用Dockerfile制作Docker镜像
文章图片


创建容器
docker run -di--name=jdk1.8 jdk1.8/bin/bash

第二章|第二章 使用Dockerfile制作Docker镜像
文章图片



到这儿,自己做的镜像完美实现,主要难点要点在于编写dockerfile脚本,我在这卡住了好长时间!

    推荐阅读