容器镜像

Eclipse Temurin 作为 Docker Hub 上的官方 Docker 镜像提供,可轻松用于容器化环境。镜像支持多种基础操作系统和架构。

推荐镜像

对于大多数用户,我们推荐基于 Ubuntu 的默认镜像。

docker pull eclipse-temurin:25-jdk

在 Dockerfile 中用于您的应用程序:

FROM eclipse-temurin:25-jdk
COPY target/my-app.jar /app/my-app.jar
WORKDIR /app
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "my-app.jar"]

标签规则

镜像标签遵循以下格式:

eclipse-temurin:<java-version>-<image-type>-<os-version>

其中:

  • <java-version> — Java 功能版本(例如 811172125

  • <image-type>jdk(完整开发套件)或 jre(仅运行时)

  • <os-version> — 基础 OS 变体(可选——默认为最新 Ubuntu)

例如:

eclipse-temurin:21-jdk                        # Ubuntu(默认)
eclipse-temurin:21-jre                        # Ubuntu JRE(默认)
eclipse-temurin:21-jdk-noble                  # Ubuntu 24.04(Noble)
eclipse-temurin:21-jdk-jammy                  # Ubuntu 22.04(Jammy)
eclipse-temurin:21-jdk-alpine                 # Alpine Linux
eclipse-temurin:21-jdk-ubi9-minimal           # Red Hat UBI 9
eclipse-temurin:21-jdk-windowsservercore      # Windows Server Core
eclipse-temurin:21-jdk-nanoserver             # Windows Nano Server

可用基础操作系统

除默认 Ubuntu 镜像外,Temurin 镜像还可在多种其他基础操作系统上使用,以满足不同的部署需求。

基础 OS标签示例使用场景

Ubuntu(默认)

eclipse-temurin:25-jdk

通用目的——推荐大多数用户使用。

Alpine

eclipse-temurin:25-jdk-alpine

最小镜像大小,适用于轻量级部署。使用 musl libc 而非 glibc

UBI(Red Hat)

eclipse-temurin:25-jdk-ubi9-minimal

需要 Red Hat Universal Base Image 兼容性的企业环境。

Windows Server Core

eclipse-temurin:25-jdk-windowsservercore

Windows Server 上的 Windows 容器工作负载。

Windows Nano Server

eclipse-temurin:25-jdk-nanoserver

用于轻量级 Windows 容器部署的最小 Windows 镜像。

在 OpenJDK 21+ 上,您可以使用 jlink 创建一个仅包含应用程序所需模块的最小自定义 Java 运行时。这比使用完整 JDK 生成的镜像小得多。

# Example of custom Java runtime using jlink in a multi-stage container build
FROM eclipse-temurin:25 as jre-build

# Create a custom Java runtime
RUN $JAVA_HOME/bin/jlink \
         --add-modules java.base \
         --strip-debug \
         --no-man-pages \
         --no-header-files \
         --compress=2 \
         --output /javaruntime

# Define your base image
FROM debian:buster-slim
ENV JAVA_HOME=/opt/java/openjdk
ENV PATH "${JAVA_HOME}/bin:${PATH}"
COPY --from=jre-build /javaruntime $JAVA_HOME

# Continue with your application deployment
RUN mkdir /opt/app
COPY japp.jar /opt/app
CMD ["java", "-jar", "/opt/app/japp.jar"]

Tip

调整 --add-modules 列表以包含应用程序所需的所有模块。使用 jdeps 确定应用程序依赖的模块。

完整文档

有关受支持标签及其对应 Dockerfile 的完整列表,请参阅 受支持标签及其对应 Dockerfile 链接

有关详细使用说明和其他配置选项,请参阅官方 Docker Hub 上的 Eclipse Temurin 页面。

edit icon

帮助我们完善这些文档!

所有 Adoptium 文档均为开源。发现错误或不清楚的内容?

文档作者
gdams
Join our Slack channel to discuss and reach out to maintainers.Join Slack