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