【Docker】构建最小JDK基础镜像(基于Centos:7)

发布时间 2023-11-25 00:04:40作者: 郭小睿

制作一下最小JDK基础镜像,特此记录便于日后查阅。

1、下载

我们通过使用JRE来构建基础镜像,已达到最小化JDK基础镜像的目的,首先需要下载JRE(如果下载较慢可以选择下载本文附件中的JRE),传送门如下:

官方JRE下载地址

2、安装

然后解压JRE包,删除根目录下文本文件,然后删除其他不必要文件,命令如下:

#解压
tar -zxvf jre-8u161-linux-x64.tar.gz
#进入目录
cd jre1.8.0_161/
#删除文本文件
rm -rf COPYRIGHT LICENSE README release THIRDPARTYLICENSEREADME-JAVAFX.txt THIRDPARTYLICENSEREADME.txt Welcome.html
#删除其他无用文件
rm -rf     lib/plugin.jar \
           lib/ext/jfxrt.jar \
           bin/javaws \
           lib/javaws.jar \
           lib/desktop \
           plugin \
           lib/deploy* \
           lib/*javafx* \
           lib/*jfx* \
           lib/amd64/libdecora_sse.so \
           lib/amd64/libprism_*.so \
           lib/amd64/libfxplugins.so \
           lib/amd64/libglass.so \
           lib/amd64/libgstreamer-lite.so \
           lib/amd64/libjavafx*.so \
           lib/amd64/libjfx*.so

重新打包所有文件(不打包也可以,在Dockerfile里ADD这个目录即可,当前精简完jre目录大小是107M,压缩后是41M)

tar -zcvf jre8.tar.gz jre1.8.0_241/

创建Dockerfile

FROM centos:7.6.1810
ADD jre8.tar.gz /usr/java/
ENV JAVA_HOME /usr/java/jre1.8.0_241
ENV PATH ${PATH}:${JAVA_HOME}/bin
WORKDIR /usr/local/app/

执行构建命令即可。