Docker Hub移除openjdk:8-jre镜像后的拉取失败问题及替代方案咨询
兄弟,你遇到的这个问题我之前部署老项目时也踩过坑!确实是Docker Hub上官方的openjdk:8-jre镜像已经被彻底移除了,你看到的deprecation notice完全准确——官方OpenJDK镜像早在2021年就停止维护了,所有基于JDK 8的JRE专用tag(包括8-jre)都被下架清理了,所以现在拉取肯定会报not found错误。
下面给你几个靠谱的替代方案,都是现在还在长期维护的镜像:
首选:Eclipse Temurin 8 JRE镜像
这个是Adoptium社区维护的开源JDK发行版,完全兼容官方OpenJDK,而且长期提供支持。直接把Dockerfile里的镜像替换成:FROM eclipse-temurin:8-jre用法和原来的
openjdk:8-jre完全一致,不需要改其他构建逻辑,稳定性拉满。适合定制场景:基于OpenJDK 8基础镜像自行构建JRE
如果你的项目对JRE有精简需求,可以用官方遗留的openjdk:8完整镜像(注意这个镜像虽暂时可获取,但不建议长期依赖,仅作临时过渡或定制使用),通过jlink工具构建自定义JRE:FROM openjdk:8 # 构建精简JRE,只保留项目必要的模块 RUN jlink --module-path jmods --add-modules java.base,java.sql,java.naming,java.desktop,java.management --output /jre --strip-debug --no-man-pages --no-header-files --compress=2 # 切换到轻量基础镜像运行 FROM alpine:3.18 COPY --from=0 /jre /jre ENV PATH="/jre/bin:${PATH}"这个方案能把镜像体积压到很小,但需要自己维护构建逻辑。
企业级合规选择:Amazon Corretto 8 JRE镜像
如果你需要有商业支持背书的JDK发行版,可以用Amazon维护的Corretto镜像,同样兼容JDK 8:FROM amazoncorretto:8-al2-jre这个镜像经过合规认证,适合对稳定性和合规性要求高的企业级项目。
最后补个小提醒:以后尽量别用笼统的版本tag(比如8-jre),最好用带具体补丁版本的tag(比如eclipse-temurin:8u402-b06-jre),这样能避免镜像突然下架导致的构建失败,也方便跟踪版本更新。




