根据DockerFile构建一个JDK镜像

1、什么是DockerFile

简而言之,就是描述一个镜像如何构建的一个脚本文件,也就是描述镜像文件如何一步步构建而来的;

2、构建镜像步骤:

(1)书写DockerFile文件
(2)通过docker build生成新镜像
(3)通过docker run命令运行

3、这里构建我们的新镜像需要使用到我们的FileZilla软件

FileZilla: 是一个免费的开源FTP软件,分为客户端和服务端版本,其是一种快速可信赖的FTP客户端以及服务端开放源代码程式,具有多种特色、直接的接口;

FileZilla基本功能: 可以断点续传进行上传、下载(需要服务器支持)、自定义命令、进行站点管理、防发呆功能(有的FTP服务器会将发呆过久的用户赶出,进行发呆的用户就得重新登录)

4、Docker构建jdk镜像实战

1、首先,打开VMWare虚拟机,然后使用secure CRT进行登录Linux服务器;

2、然后,使用命令在宿主机根目录下创建目录:mkdir -p /usr/local/mydocker,其中-p表示创建多级目录;

3、使用cd切入到该目录中:cd /usr/local/mydocker (接下来的操作都是在该目录下进行,使用指令:pwd可以显示当前所处的路径)

4、然后使用我们事先准备好的FileZilla软件连接docker宿主机,并把jdk(liunx压缩包)上传到我们刚才在宿主机上创建好的路径上;在这里插入图片描述
5、上传成功后我们可以在secureCRT上输入ll命令进行查看;

6、直接在刚才创建好的/usr/local/mydocker文件夹下使用vim命令创建一个Dockerfile文件并对其进行编辑:vim Dockerfile,按i进入到编辑窗口,然后输入以下指令:

#首先是一个基础镜像
FROM centos:7
#指定镜像创建者信息
MAINTAINER zjm
#切换工作目录(当我们使用该镜像创建好一个容器后,他会自动进入到该路径下)
WORKDIR /usr/local
#创建一个存放jdk的路径
RUN mkdir /usr/local/java
#将jdk压缩包复制并解压到容器中/usr/local/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
 
CMD ["/bin/bash"]

(注意:我们在配置java环境变量的时候,后面多加了jdk1.8.0_171,是因为在linux版本的jdk解压缩之后里面还有一个文件夹叫“jdk1.8.0_171”,我们要访问里面的内容,故得加上jdk1.8.0_171)

7、保存Dockerfile文件后,使用构建镜像语法对其进行构建:docker build -t jdk:1.8 .
(注意:jdk为我们任意命名的镜像名,1.8为标签号,后面还要记得加上 点(.),这个点前面还有空格)在这里插入图片描述
因为我们命令都是在/usr/local/mydockers下进行的,故Dockerfile文件也是在该文件下创建的,若在其他文件夹下,我们需要使用[option] -f对其进行指定文件路径;

8、最后我们使用docker images就可以清楚的看到我们刚才通过dockerFile文件构建的镜像;
在这里插入图片描述
9、接下来我们使用构建好的镜像来创建容器,指令:

docker run -it --name=myjdk jdk:1.8

,创建好后进入到容器中:docker exec -it myjdk /bin/bash,使用ls可以看到容器中当前目录下的文件;
在这里插入图片描述

发布了31 篇原创文章 · 获赞 12 · 访问量 3733

猜你喜欢

转载自blog.csdn.net/z19950712/article/details/104232032