本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
本文档介绍的 JRE Docker 镜像由 Canonical 官方提供,基于 Ubuntu 系统构建。该镜像会持续接收安全更新,并支持滚动升级至更新的 JRE 版本或 Ubuntu 发行版。本仓库可免费使用,且不受用户速率限制。
该镜像内置的 Java 运行时环境(JRE)基于 OpenJDK 项目——这是 Java 平台标准版(Java SE)的免费开源实现。自 Java SE 7 起,OpenJDK 成为其官方参考实现(详情可参考 OpenJDK 官网)。请注意,Java 是 Oracle 及其关联公司的注册商标。
***led Ubuntu 是一类轻量级 OCI 镜像,不含 bash、包管理器及 OpenJDK 开发工具,仅作为兼容 Java 应用的运行时终阶段基础镜像。想了解更多可参考 Ubuntu 官方博客,也可根据应用需求自定义 ***led Ubuntu 基础镜像。
8 和 17 版本:基于 Dockerfile 构建,入口点为 java。直接运行即可调用 Java:
$ docker run --rm ubuntu/jre:17_edge Usage: java [options] <mainclass> [args...]
11 和 21 及以上版本:基于 Rockcraft 构建(即 "rocks" 格式),入口点为 pebble enter。需通过 exec 命令调用 Java:
$ docker run --rm ubuntu/jre:21_edge exec java Usage: java [options] <mainclass> [args...]
根据 JRE 版本选择对应命令:
docker run -d --name jre-container -e TZ=UTC ubuntu/jre:17-22.04_edge
docker run -d --name jre-container -e TZ=UTC ubuntu/jre:21-24.04_edge exec java
说明:直接运行镜像会输出 OpenJRE 帮助信息,因为镜像需配合已编译的 Java 应用使用。
以下通过简单的 Hello World 应用演示完整使用流程。
创建 HelloWorld.java:
// HelloWorld.java class HelloWorld { public static void main(String args[]) { System.out.println("Hello, World"); } }
根据 JRE 版本使用不同 Dockerfile:
# Dockerfile (8/17 版本) FROM ubuntu:22.04 AS builder RUN apt-get update && apt-get install -y openjdk-8-jdk WORKDIR /app ADD HelloWorld.java . RUN javac -source 8 -target 8 HelloWorld.java -d . # 编译 Java 文件 FROM ubuntu/jre:8-22.04_edge # 使用 ***led Ubuntu JRE 镜像 WORKDIR / COPY --from=builder /app/HelloWorld.class . # 复制编译后的类文件 CMD ["HelloWorld"] # 运行应用
# Dockerfile (11/21 版本) FROM ubuntu:24.04 AS builder RUN apt-get update && apt-get install -y openjdk-8-jdk WORKDIR /app ADD HelloWorld.java . RUN javac -source 8 -target 8 HelloWorld.java -d . FROM ubuntu/jre:21-24.04_edge COPY --from=builder /app/HelloWorld.class . CMD ["exec", "java", "-cp", "/", "HelloWorld"] # 通过 pebble 执行 java 命令
构建并运行:
docker build -t hello-jre . docker run --rm hello-jre # 输出 "Hello, World"
| 主要标签 | 其他可用标签 | 支持期限 | 当前版本 | 架构支持 |
|---|---|---|---|---|
11-24.04_stable | 11-24.04, 11-24.04_beta, 11-24.04_candidate, 11-24.04_edge | - | JRE 11 on Ubuntu 24.04 LTS | arm64, amd64 |
21-24.04_stable | 21-24.04, 21-24.04_beta, 21-24.04_candidate, 21-24.04_edge | - | JRE 21 on Ubuntu 24.04 LTS | amd64, arm64 |
17-22.04_edge | 17-22.04_93, 17-22.04_edge_93, 17_edge | - | JRE 17 on Ubuntu 22.04 LTS | amd64, arm64 |
8-22.04_edge | 8-22.04_93, 8-22.04_edge_93, 8_edge, edge | - | JRE 8 on Ubuntu 22.04 LTS | amd64, arm64 |
标签说明:渠道稳定性从高到低为
stable→candidate→beta→edge。若列出beta,则edge同样可用;若列出stable,则所有四个渠道均可用。镜像会按edge→beta→candidate→stable顺序迭代发布。
若需商业分发,或需要 ESM 支持及未列出的渠道/版本,请联系 Canonical 团队(邮箱:[邮箱已删除],或参考官方联系方式)。
docker logs -f jre-container # 替换为实际容器名
对于 11 和 21 版本,需通过 pebble 查看应用日志:
docker exec jre-container pebble logs # 替换为实际容器名
如发现镜像漏洞或需新增功能,请在 Launchpad 提交 issue:
[***]
提交时请按格式填写标题:jre: <问题摘要>,并附上镜像完整 digest(可通过以下命令获取):
docker images --no-trunc --quiet ubuntu/jre:<标签> # 替换为实际标签
以下渠道(标签)不再更新,请尽快升级至新版本;若无法升级,可联系 Canonical获取支持。
| 渠道(Track) | 版本(Version) | 停止维护(EOL) | 升级路径(Upgrade Path) |
|---|---|---|---|
track |
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429