按这个方法打java17的镜像,直接减少70%

本文介绍了如何优化Java基础镜像,从理解JDK与JRE的区别开始,详细讲解了Java8和Java17的Dockerfile优化过程,包括JDK到JRE的转换,从而大幅减少镜像大小,提升部署效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

不知道大家平时在打java项目镜像的时候用的基础镜像是啥,反正这么多年我遇到的java项目基础镜像基本都是基于jdk的,因为业务开发很少会注意镜像大小以及镜像优化这一点,导致一个镜像好几百兆大小,但是我们运行Java项目其实只需要运行时环境就可以了,其他的好多软件根本没啥用,它唯一的作用就是拖慢你的部署速度。那么我们以java 8,和java17为例,一步步来进行镜像的优化。

为什么选择java8和java17:

因为这两个版本是比较典型的长期支持版本,java8可以说是最牛钉子户,没有之一(不多说,懂的都懂),在这个节点上,如果java8的开发者要升级,第一选择就是java17, 性能强悍免费又稳定,官方力推。

我们在打镜像之前得先简单了解一下JDK,JRE的区别,那么我们从如下几个内容出发。

  1. 了解一下JDK、JRE的简单区别。
  2. Java8 版本Dockerfile的镜像优化
  3. Java17 JRE版本Dockerfile的编写。

了解一下JDK、JRE的简单区别

JDK: Java Development Kit,是Java的标准开发工具包(普通用户只需要安装 JRE来运行 Java 程序。而程序开发者必须安装JDK来编译、调试程序)。它提供了编译、运行Java程序所需的各种工具和资源,包括Java编译器、Java运行环境JRE,以及常用的Java基础类库等,是整个JAVA的核心。

JRE: Java Runtime Environment,是java运行时的环境,包含了java虚拟机,java基础类库,是使用java语言编写的程序运行所需要的软件环境。

简单来讲JRE是Java运行环境,并不是一个开发环境,所以没有包含任何开发工具(如编译器和调试器),只是针对于使用Java程序的用户。而JDK不仅仅提供了运行环境,还提供了Java的全套开发工具(如编译器和调试器等)。

Java8 版本Dockerfile的镜像优化

想要打包Java8版本的基础镜像,那么首先就需要下载对应系统的java版本,然后编写Dockerfile, 最后打包镜像测试。我们按流程来看一下,由于我们是在LInux版本上用的,所以需要选Linux版本的。

Java8基础镜像的打包流程

  1. 下载Java版本

我们先到Oracle的官网(

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值