ubuntu/jre Docker Image
这是一种基于Ubuntu的无发行版Java运行时环境,它通过精简系统组件以减少***面、提升安全性,尤其适用于容器化应用场景,其长期支持版本系列由Canonical负责持续维护与更新。
ubuntu/jre is a rock for jre maintained by https://canonical.com/.
OpenJDK is the official reference implementation of Java Platform, Standard Edition (Java SE), since version 7. This image packs the Java Runtime Environment, coming from the https://www.openjdk.org/, a free and open source implementation of the Java Platform, Standard Edition (Java SE).
Java is a registered trademark of Oracle and/or its affiliates.
\https://openjdk.org/\]
Tags and Architectures
NOTE: These tags follow a specific naming convention that respects the concept of channels.
| Tags | Supported until | Version | Base | Architectures | |
|---|---|---|---|---|---|
25-26.04_stable | aliases25-26.04, 25-26.04_beta, 25-26.04_candidate, 25-26.04_edge | 05/2031 | 25 | 26.04 | amd64, arm64 |
11-24.04_stable | aliases11-24.04, 11-24.04_beta, 11-24.04_candidate, 11-24.04_edge | 05/2029 | 11 | 24.04 | amd64, arm64 |
21-24.04_stable | aliases21-24.04, 21-24.04_beta, 21-24.04_candidate, 21-24.04_edge | 05/2029 | 21 | 24.04 | arm64, amd64 |
17-24.04_stable | aliases17-24.04, 17-24.04_beta, 17-24.04_candidate, 17-24.04_edge | 05/2029 | 17 | 24.04 | arm64, amd64 |
8-22.04_edge | aliases8-22.04_115, 8-22.04_edge_115, 8_edge | 06/2027 | 8 | 22.04 | amd64, arm64 |
17-22.04_edge | aliases17-22.04_115, 17-22.04_edge_115, 17_edge, edge | 06/2027 | 17 | 22.04 | amd64, arm64 |
Get started
This rock's entrypoint is Pebble, a container-optimized init process that enables the orchestration of a collection of local service processes as an organized set.
\https://documentation.ubuntu.com/pebble/\]
Inspect
To view the https://documentation.ubuntu.com/rockcraft/en/latest/reference/rockcraft-yaml/#services and https://documentation.ubuntu.com/rockcraft/latest/reference/rockcraft-yaml/#checks defined in this rock:
shdocker run --rm ubuntu/jre:25-26.04_stable plan
For an older version that is not a rock
The container spins up with the default entrypoint. To inspect the entrypoint and command:
shdocker inspect --format='{{.Config.Entrypoint}} {{.Config.Cmd}}' ubuntu/jre:25-26.04_stable
Run
To run this rock, use any of the usual container runtimes, for example, docker:
shdocker run --name jre-container \ --rm \ ubuntu/jre:25-26.04_stable \ exec java
The container logs will simply show the OpenJRE help message. This is because the container expects a compiled Java application to be given.
Let's use the following Hello World application as an example:
java// HelloWorld.java class HelloWorld { public static void main(String args[]) { System.out.println("Hello, World"); } }
You can build and package the above Hello World application with ***led Ubuntu 24.04 using the following example Dockerfile.
dockerFROM 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" ]
For an older version that is not a rock
shdocker run --name jre-container \ --rm \ ubuntu/jre:25-26.04_stable
The Ubuntu 22.04 JRE images are Dockerfile-based images.
You can build and package the above Hello World application with ***led Ubuntu 22.04 JRE 8 and 17 using the following example Dockerfile.
dockerFROM 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 . FROM ubuntu/jre:8-22.04_edge WORKDIR / COPY --from=builder /app/HelloWorld.class . CMD [ "HelloWorld" ] java [options] <mainclass> [args...] ...
Get logs
To view the logs of the running container, run:
shdocker exec jre-container pebble logs
Or, for a specific service:
shdocker exec jre-container pebble logs <service>
For an older version that is not a rock
To view the logs of the running container, run:
shdocker logs jre-container
Monitor health checks
Rocks may have predefined health checks that you can list by running:
shdocker exec jre-container pebble checks
The overall health of your container can be inspected via:
shdocker exec jre-container pebble health
Configuration
Environment variables
| Option | Description | Default |
|---|---|---|
| TZ | Configures the timezone value for Java process execution. | None |
Volumes
| Option | Description | Default |
|---|---|---|
-v <host-path>:/app | Configure with a host mount to provide compiled classes or application files. | None |
Application parameters
| Option | Description | Default |
|---|---|---|
exec java <args> | Execute with Java command arguments or classpath options. | None |
Other configuration options
| Option | Description | Default |
|---|---|---|
--rm | Run with automatic container cleanup after exit. | None |
\https://github.com/canonical/jre-rock/issues\] \https://github.com/canonical/jdk-rock\]
Canonical is the provider of this container image. It is the user's responsibility to ensure that any use of this image complies with any relevant licenses for all software contained within, as well as with https://canonical.com/legal/intellectual-property-policy.
ubuntu 命名空间的其他可用镜像:
更多相关 Docker 镜像与资源
以下是 ubuntu/jre 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
镜像拉取方式
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
DockerHub 原生拉取命令
用户好评
来自真实用户的反馈,见证轩辕镜像的优质服务