Docker微服务升级Java18,求对应openjdk:11.0.7-jre-slim的镜像及版本疑问
Java 18 Slim JRE Docker镜像相关问题解答
1. Java 18对应的同类型镜像说明
OpenJDK官方镜像在Java 17之后调整了版本策略,不再提供openjdk:18-jre-slim这类官方维护的轻量JRE镜像。目前业界主流的替代是Eclipse Temurin(Adoptium社区维护的OpenJDK发行版)的slim JRE镜像,它完全兼容标准OpenJDK,且保持轻量特性,适配微服务场景。
2. 处理openjdk:18-jre-slim不存在的方案
方案一:直接使用Eclipse Temurin的slim JRE镜像
将原有镜像替换为:
eclipse-temurin:18-jre-slim
该镜像由官方社区维护,体积小巧,包含完整JRE运行环境,和你之前使用的openjdk:11.0.7-jre-slim特性一致,无需额外配置即可直接使用。
方案二:自定义构建轻量JRE镜像
如果必须基于官方OpenJDK镜像,可通过多阶段构建手动生成精简JRE环境,示例Dockerfile如下:
# 第一阶段:从完整OpenJDK镜像提取裁剪后的JRE FROM openjdk:18 as jre-builder # 根据微服务依赖调整--add-modules参数,仅保留必要模块 RUN jlink --add-modules java.base,java.logging,java.sql,java.management \ --strip-debug --no-man-pages --no-header-files --compress=2 \ --output /custom-jre # 第二阶段:基于debian slim构建最终运行镜像 FROM debian:bullseye-slim COPY --from=jre-builder /custom-jre /opt/java/jre ENV PATH="/opt/java/jre/bin:${PATH}"
这种方式可精准控制JRE包含的模块,进一步缩小镜像体积,适配微服务的资源需求。
内容的提问来源于stack exchange,提问作者curious
相关产品推荐
相关产品推荐

