Baron X头像

Eclipse Temurin 21 (JRE) Alpine 镜像获取、离线导入与推送操作

📌 摘要:本文介绍如何在离线(内网)环境中获取并导入 Eclipse Temurin JRE 21 的 Docker 镜像。内容涵盖两种获取方式(直接下载官方 tar 包、或先拉取再导出)、镜像导入与查看、JRE 具体版本的三种验证方法、标签重命名(规避 + 非法字符)以及推送至私有仓库的完整流程,并附有注意事项与最佳实践。


Eclipse Temurin 21 (JRE) Alpine 镜像离线导入与推送操作总结

📌 环境说明

  • 操作系统:Linux(CentOS/RHEL,root 用户)
  • 目标私有仓库:registry.example.com/your-project/
  • 镜像基础:eclipse-temurin:21-jre-alpine(JDK 21.0.12.1+1 的 JRE 版本,基于 Alpine Linux)

🛠️ 操作步骤

1. 获取镜像并构建 tar 包(标准离线部署流程)

⚠️ 注意:官方没有提供 Docker 镜像的预构建 tar 包直接下载渠道。要获得可用于离线环境的 Docker 镜像 tar 包,必须先在联网环境拉取镜像,再导出。

(1)在有外网的环境拉取官方镜像

docker pull eclipse-temurin:21-jre-alpine

💡 提示:国内环境可配置镜像加速器(如阿里云、中科大等),或修改 Docker Daemon 的 registry-mirrors 以提升拉取速度。

(2)将镜像导出为 tar 包

docker save -o eclipse-temurin-21-jre-alpine.tar eclipse-temurin:21-jre-alpine

💡 可选压缩:若需减小传输体积,可结合 gzip 压缩:

docker save eclipse-temurin:21-jre-alpine | gzip > eclipse-temurin-21-jre-alpine.tar.gz

(3)将 tar 包传输到离线服务器
通过 scp、rsync 或移动介质将文件拷贝至目标机器。

2. 导入镜像

在目标离线服务器上,执行导入:

docker load -i eclipse-temurin-21-jre-alpine.tar

(若传输的是 .tar.gz 压缩包,请先解压:gunzip eclipse-temurin-21-jre-alpine.tar.gz 再执行导入)

3. 查看镜像

docker images | grep jre

输出结果:

eclipse-temurin    21-jre-alpine    d0f52469e5e2    2 weeks ago    208MB

4. 🔍 补充:查看 JRE 具体版本的方法

仅通过 docker images 无法看到具体的 Java 小版本号,可以通过以下三种方法验证:

方法一:运行临时容器查看(最推荐,最直接)

docker run --rm eclipse-temurin:21-jre-alpine java -version

输出示例:

openjdk version "21.0.12.1" 2026-08-19
OpenJDK Runtime Environment Temurin-21.0.12.1+1 (build 21.0.12.1+1)
OpenJDK 64-Bit Server VM Temurin-21.0.12.1+1 (build 21.0.12.1+1, mixed mode, sharing)

方法二:查看镜像内的 release 文件

docker run --rm eclipse-temurin:21-jre-alpine cat /opt/java/openjdk/release

(Temurin 镜像默认将 Java 安装到 /opt/java/openjdk 目录下)

方法三:查看镜像历史记录(辅助参考)

docker history eclipse-temurin:21-jre-alpine

5. 重新构建标签(Tag)

⚠️ 避坑提示:Docker 的标签名称只允许包含小写字母、数字、下划线 _、连字符 - 和点 .。由于 Java 官方版本号中的加号 +(如 21.0.12.1+1)在 Docker 标签中属于非法字符,必须将 + 替换为 - 或 _。

执行打标签操作(将 +1 替换为 -1):

docker tag eclipse-temurin:21-jre-alpine registry.example.com/your-project/eclipse-temurin:21.0.12.1-jre-alpine

6. 推送至私有仓库

docker push registry.example.com/your-project/eclipse-temurin:21.0.12.1-jre-alpine

确保已使用 docker login registry.example.com 登录,且拥有 your-project 项目的推送权限。

💡 注意事项与最佳实践

  1. 渠道说明:官方(Adoptium / Docker Hub)仅提供系统级安装包(.tar.gz)的直接下载,不提供 Docker 镜像 tar 包。离线 Docker 镜像 tar 包只能通过 docker pull + docker save 自行生成。
  2. 标签规范:在任何 Docker 操作中,tag 名称禁止使用 +。建议将 Java 的 build 号(+1)转换成 _1 或 -1。
  3. 架构匹配:本例使用的是 Alpine 版本。如果你的业务容器也是基于 Alpine 构建,可以直接使用;如果业务容器是 Ubuntu/CentOS 等常规 Linux 发行版,请勿使用此 Alpine 镜像(musl libc 与 glibc 不兼容),需下载非 Alpine 的 eclipse-temurin:21-jre 版本。
  4. 推送后验证:推送完成后,可以在其他机器上执行 docker pull registry.example.com/your-project/eclipse-temurin:21.0.12.1-jre-alpine 以验证仓库的可用性。

📝 说明:文档中的 registry.example.com/your-project/ 为占位符,实际使用时请替换为你自己的私有仓库地址和项目空间名称。

转载自 CSDN-专业IT技术社区

原文链接:https://blog.csdn.net/snowhite91/article/details/168026089

文章来源转载

评论

评论列表

微信小程序
QQ小程序

关于作者

点赞数:0
关注数:0
粉丝:0
文章:0
关注标签:0
加入于:--