使用Docker构建自己的JDK容器

★为了在Dockerfile中使用FROM自己的jdk,在此构建一个独立专属的

1、下载需要构建的jdk压缩包,使用压缩包即可,此处使用了jdk_8u191< 下载 >,根据自己需要,别乱下

2、因为jdk属于是系统环境配置,所以此处需要借助系统镜像去构建,此处借助centos:7来构建,查找可用的centos镜像:

2.1、docker search centos

img

第一个是官方的镜像,直接使用这个即可:docker pull docker.io/centos:7 (这个命令就不解释了,看不懂的此文也可用就此打住了)

2.2、下载完成之后使用命令查看当前存在的镜像:docker images -a

3、编写构建jdk镜像的Dockerfile,内容如下:

1
2
3
4
5
6
7
8
9
10
11
FROM docker.io/centos:7

MAINTAINER cc

ADD jdk-8u191-linux-x64.tar.gz /opt/localhost/ ------这个路径即为jdk的安装路径

ENV JAVA_HOME /opt/localhost/jdk1.8.0_191 ------设置环境变量

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

ENV PATH $PATH:$JAVA_HOME/bin

4、构建jdk的docker镜像

docker build -t docker.kevinlu.cc/env/jdk-8u191:190114 . -f Dockerfile

这个命令就没啥好讲的了,不认识的可以看< 这里 >

构建完成之后通过docker images命令查看镜像信息,构建的时候就会将构建信息打印到控制台:

img

可以看到最后的Successfully built 47a3b1aa0e55,这个47a3b1aa0e55就是镜像的IMAGE ID,同一个镜像多次构建,生成的IMAGE ID相同

5、运行jdk镜像

运行jdk镜像与其他普通镜像有些许不同,因为jdk属于是系统环境配置,所以运行命令为:

docker run -d --name jdk8u191 -it 47a3b1aa0e55 /bin/bash

★创建容器的时候一定要使用 -it /bin/bash,不然jdk的容器起不来。

6、验证

docker ps查看当前运行的容器

docker exec -it jdk8u191 /bin/bash进入jdk容器内

java -version查看当前环境中jdk版本

img

大功告成!

7、使用

< 查看 >