创建一个JDK 镜像

本文档介绍了如何使用Dockerfile从CentOS7基础镜像构建一个包含JDK1.8.0_144的自定义镜像。首先拉取CentOS7镜像,然后编写Dockerfile,通过ADD指令添加并解压JDK压缩包。接着使用docker build命令创建镜像,并验证镜像是否成功创建及运行。
  • 编译方式:dockerfile
  • Linux镜像:centos7
  • jdk:jdk1.8.0_144

构建一个基于centos7和jdk1.8的镜像。

1.拉取镜像

拉取Centos7 镜像,这里我是从daocloud中找的:

docker pull daocloud.io/library/centos:centos7

2、编译Dockerfile

新建一个文件,这里命名为jdkdockerfile,将对应的压缩包也copy过来

 

很多地方都是使用的Dockerfile这种固定名称,其实创建的时候可以通过 -f 来指定dockerfile

dockerfile 内容 

FROM daocloud.io/library/centos:centos7
#维护者信息
MAINTAINER  shuen

ADD jdk-8u144-linux-x64.tar.gz /usr/local/

ENV JAVA_HOME /usr/local/jdk1.8.0_144

ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

ENV PATH $PATH:$JAVA_HOME/bin

 1、这里使用的镜像是上面下载的centos镜像;
2、jdk压缩包拷贝到dockerfile同级目录,如果在其它目录拷贝的时候可能出现找不到目录错误;
3、使用ADD指令会直接对jdk-8u144-linux-x64.gz进行解压缩,不用再单独的tar解压jdk了。

3、使用Dockerfile创建镜像

docker build -f jdkDokcerfile -t jdk8 

-f :指定要使用的Dockerfile路径;

--tag, -t: 镜像的名字及标签,通常 name:tag 或者 name 格式;可以在一次构建中为一个镜像设置多个标签。

更多详细信息可以查询:https://www.runoob.com/docker/docker-build-command.html 

查看以下是否成功 

这时候看到jdk的镜像增长到了580M。

4、 运行创建的镜像

​​​​​​​docker run -d -it jdk8 /bin/bash

上面包含两条指令,run创建容器和查看容器。

注意:创建容器的时候一定要使用 -it /bin/bash这种方式,要不然jdk的容器起来后 会马上退出。

 5、验证镜像中的jdk

进入容器

docker exec -it[ 容器ID|容器名称]

 

使用 JDK 镜像创建容器一般可以通过 Docker 来完成,下面结合参考内容给出不同基础镜像创建步骤。 ### 使用基于 CentOS 的 JDK 镜像创建容器 首先需要有基于 CentOS 的 JDK 镜像,参考内容中给出了构建该镜像Dockerfile,以下是构建及创建容器的步骤: 1. **编写 Dockerfile**: ```dockerfile # 基础镜像为 centos FROM centos # 维护者 MAINTAINER Lion Li # 将jdk压缩包添加到容器的 /root 目录,解压后目录名称为jdk1.8.0_211 ADD jdk-8u211-linux-x64.tar.gz /root # 配置JAVA_HOME环境变量 ENV JAVA_HOME /root/jdk1.8.0_211/ # 将JAVA_HOME/bin 添加至PATH环境变量 ENV PATH $JAVA_HOME/bin:$PATH # 启动容器执行的命令,仅用于验证安装配置是否正确,生产环境使用需注释后再build ENTRYPOINT ["java","-version"] ``` 2. **构建镜像**:将上述内容保存为 Dockerfile,然后在该文件所在目录执行以下命令构建镜像: ```bash docker build -t centos-jdk:8 . ``` 3. **创建并启动容器**:使用构建好的镜像创建并启动容器: ```bash docker run -it centos-jdk:8 ``` ### 使用基于 Ubuntu 的 JDK 镜像创建容器 同样先要有基于 Ubuntu 的 JDK 镜像,参考内容给出了构建该镜像Dockerfile,构建及创建容器步骤如下: 1. **编写 Dockerfile**: ```dockerfile # 在ubuntu:18.04中添加上jdk1.8 FROM ubuntu:18.04 MAINTAINER lcy@qq.com ADD jdk-8u191-linux-x64.tar.gz /usr/local/ ENV JAVA_HOME /usr/local/jdk1.8.0_191 ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar ENV PATH $PATH:$JAVA_HOME/bin ``` 2. **构建镜像**:将上述内容保存为 Dockerfile,接着在该文件所在目录执行以下命令构建镜像: ```bash docker build -t ubuntu-jdk:8 . ``` 3. **创建并启动容器**:使用构建好的镜像创建并启动容器: ```bash docker run -it ubuntu-jdk:8 ``` ### 说明 在创建容器时,可以根据需求添加更多的参数,例如指定容器名称、端口映射、挂载数据卷等。例如,指定容器名称和端口映射: ```bash docker run -it --name my-jdk-container -p 8080:8080 ubuntu-jdk:8 ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值