-
下载 jre
-
解压 jre 包,删除根目录下文本文件和其他非必要文件
# 解压 tar -zxvf jre-8u301-linux-x64.tar.gz # 进入目录 cd jre1.8.0_301/ # 删除文本文件 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
-
重新打包
# 打包,包名增加 -minimal 和原始包名进行区分 tar -zcvf jre-8u301-linux-x64-minimal.tar.gz *
-
创建 Dockerfile
# using alpine-glibc instead of alpine is mainly because JDK relies on glibc FROM bitnami/minideb # author MAINTAINER scc <12547345@qq.com> # A streamlined jre ADD jre-8u301-linux-x64-minimal.tar.gz /usr/java/jdk/ # set env ENV JAVA_HOME /usr/java/jdk ENV PATH ${PATH}:${JAVA_HOME}/bin # run container with base path:/opt WORKDIR /opt
-
构建镜像
# my-harbor.com 是我的 Harbor 镜像仓库域名 docker build -t my-harbor.com/library/jre:8-minimal .
-
验证
# 启动镜像,进入终端 docker run -it my-harbor.com/library/jre:8-minimal /bin/sh # 验证 java java -version
-
导出镜像包
docker save -o jre-8u301-minimal.tar my-harbor.com/library/jre:8-minimal
-
导入镜像包
docker load -i jre-8u301-minimal.tar
如果懒得自己动手的,或者下载原始 jre 慢的,我把原始 jre 包和精简过导出的镜像包一起打包上传了,需要的自取。
CSDN 下载地址