制作 docker 精简 jre8 基础镜像

本文介绍如何下载、精简JRE及JDK,并通过Dockerfile构建最小化JRE镜像的过程。具体步骤包括下载官方版本、删除非必需文件、重新打包、创建并运行Dockerfile等。

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

如果懒得自己动手的,我把精简过导出的镜像包一起打包上传了,需要的自取。
优快云下载地址

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值