根据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可以看到容器中当前目录下的文件;
在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
可以按照以下步骤构建本地JDK镜像并基于该镜像构建BWS镜像: 1. 在本地下载JDK安装包,例如 `jdk-8u291-linux-x64.tar.gz`。 2. 在本地创建一个目录,例如 `~/docker/jdk/`。 3. 将JDK安装包移动到该目录下。 4. 在该目录下创建一个 `Dockerfile` 文件,内容如下: ``` FROM ubuntu:latest # 安装必要的软件包 RUN apt-get update && \ apt-get install -y wget && \ apt-get install -y tar && \ apt-get install -y gzip && \ apt-get install -y ca-certificates && \ apt-get install -y --no-install-recommends openjdk-8-jdk && \ apt-get clean # 将JDK安装包复制到容器中 COPY jdk-8u291-linux-x64.tar.gz /opt/ # 解压JDK安装包并删除 RUN tar -xzf /opt/jdk-8u291-linux-x64.tar.gz -C /opt/ && \ rm /opt/jdk-8u291-linux-x64.tar.gz # 设置环境变量 ENV JAVA_HOME /opt/jdk1.8.0_291 ENV PATH $JAVA_HOME/bin:$PATH ``` 5. 在该目录下运行以下命令构建本地JDK镜像: ``` docker build -t myjdk:latest . ``` 6. 在BWS项目根目录下创建一个 `Dockerfile` 文件,内容如下: ``` FROM myjdk:latest # 将BWS发布包复制到容器中 COPY bws-1.0.0.tar.gz /opt/ # 解压BWS发布包并删除 RUN tar -xzf /opt/bws-1.0.0.tar.gz -C /opt/ && \ rm /opt/bws-1.0.0.tar.gz # 设置环境变量 ENV BWS_HOME /opt/bws-1.0.0 ENV PATH $BWS_HOME/bin:$PATH # 启动BWS CMD ["sh", "-c", "cd $BWS_HOME/bin && ./startup.sh && tail -f $BWS_HOME/logs/catalina.out"] ``` 7. 在BWS项目根目录下运行以下命令构建BWS镜像: ``` docker build -t mybws:latest . ``` 这样就可以构建出基于本地JDK镜像的BWS镜像了。在运行BWS容器时,只需要使用 `mybws:latest` 镜像即可。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值