Eclipse Temurin构建的OpenJDK二进制文件官方镜像
收藏数: 3
下载次数: 888675
类型:

amd64/eclipse-temurin本镜像为 Eclipse Temurin 官方镜像的 amd64 架构专用版本,包含由 Eclipse Temurin 项目构建的 OpenJDK 二进制文件。Eclipse Temurin 提供高性能、企业级、跨平台、开源许可且通过 Java SE TCK 测试的 Java 运行时及开发工具,适用于 Java 应用程序的开发、测试与生产环境部署。
使用 docker run 命令直接运行 Java 应用 JAR 文件:
bashdocker run -it --rm -v /path/to/your/app.jar:/app.jar amd64/eclipse-temurin:21 java -jar /app.jar
创建包含 Java 应用的 Dockerfile:
dockerfileFROM amd64/eclipse-temurin:21-jdk-alpine WORKDIR /app COPY target/app.jar app.jar CMD ["java", "-jar", "app.jar"]
构建并运行:
bashdocker build -t my-java-app . docker run -it --rm -p 8080:8080 my-java-app
使用 jlink 工具创建最小化运行时,减小最终镜像体积(适用于 Java 11+):
dockerfile# 阶段 1: 构建自定义 JRE FROM amd64/eclipse-temurin:21-jdk-alpine as jre-builder RUN $JAVA_HOME/bin/jlink \ --add-modules java.base,java.sql,java.net.http \ --strip-debug \ --no-man-pages \ --no-header-files \ --compress=2 \ --output /javaruntime # 阶段 2: 构建应用镜像 FROM alpine:3.22 ENV JAVA_HOME=/opt/java/jre ENV PATH="$JAVA_HOME/bin:$PATH" COPY --from=jre-builder /javaruntime $JAVA_HOME WORKDIR /app COPY target/app.jar app.jar CMD ["java", "-jar", "app.jar"]
通过挂载证书目录并设置 USE_SYSTEM_CA_CERTS 环境变量,自动添加 CA 证书:
bashdocker run -it --rm \ -v /path/to/your/certs:/certificates \ # 挂载包含 .crt 证书的目录 -e USE_SYSTEM_CA_CERTS=1 \ # 启用 CA 证书处理 amd64/eclipse-temurin:21
在 OpenShift 等环境中,容器可能以非 root 用户运行或使用只读文件系统:
JAVA_TOOL_OPTIONS 注入,JRE_CACERTS_PATH 环境变量提供信任库路径。/tmp 卷以创建临时信任库:bashdocker run -it --rm \ -v /path/to/certs:/certificates \ -v /tmp:/tmp \ # 挂载可写 /tmp 卷 -e USE_SYSTEM_CA_CERTS=1 \ --user 1001 \ # 非 root 用户 --read-only \ # 只读文件系统 amd64/eclipse-temurin:21
| 环境变量 | 说明 |
|---|---|
USE_SYSTEM_CA_CERTS | 设置为任意值(如 1)启用自定义 CA 证书处理,需配合 /certificates 卷挂载。 |
JAVA_TOOL_OPTIONS | 自动注入 JVM 参数(如信任库路径),非 root 用户场景下会自动扩展。 |
JRE_CACERTS_PATH | 非 root 用户场景下,指向生成的自定义 JVM 信任库路径。 |
bashdocker run -d \ --name spring-app \ -p 8080:8080 \ -v /app/config:/config \ # 挂载配置文件 -e SPRING_PROFILES_ACTIVE=prod \ # 设置 Spring 环境 amd64/eclipse-temurin:17-jdk-jammy \ java -jar /app.jar --spring.config.location=/config/
bashdocker run -it --rm \ -v $(pwd)/certs:/certificates \ # 当前目录下 certs 文件夹包含 .crt 证书 -v $(pwd)/app.jar:/app.jar \ -e USE_SYSTEM_CA_CERTS=1 \ amd64/eclipse-temurin:21 \ java -jar /app.jar
创建 docker-compose.yml 部署 Java 应用与数据库:
yamlversion: '3.8' services: app: build: . image: my-java-app:latest ports: - "8080:8080" environment: - SPRING_DATASOURCE_URL=jdbc:mysql://db:3306/mydb - SPRING_DATASOURCE_USERNAME=user - SPRING_DATASOURCE_PASSWORD=pass - USE_SYSTEM_CA_CERTS=1 # 启用 CA 证书处理(若需) volumes: - ./certs:/certificates # 挂载 CA 证书(若需) depends_on: - db db: image: mysql:8.0 environment: - MYSQL_ROOT_PASSWORD=rootpass - MYSQL_DATABASE=mydb - MYSQL_USER=user - MYSQL_PASSWORD=pass volumes: - db-data:/var/lib/mysql volumes: db-data:
启动服务:
bashdocker-compose up -d
镜像标签格式为:[版本]-[jdk|jre]-[基础系统],其中:
8u462-b08、11.0.28_6、21、25),支持精确版本(带更新号)或简写版本。jdk 包含开发工具,jre 仅含运行时(默认省略时为 jdk)。alpine-<版本>(Alpine Linux)、jammy/noble(Ubuntu)、ubi10-minimal/ubi9-minimal(Red Hat UBI)。Java 8
8u462-b08-jdk-alpine-3.22, 8-jdk-alpine, 8-alpine(Alpine 3.22)8u462-b08-jdk-jammy, 8-jdk-jammy, 8-jammy(Ubuntu Jammy)8u462-b08-jdk-ubi9-minimal, 8-jdk-ubi9-minimal(UBI 9 Minimal)Java 11
11.0.28_6-jdk-alpine-3.22, 11-jdk-alpine, 11-alpine(Alpine 3.22)11.0.28_6-jdk-noble, 11-jdk-noble, 11-noble(Ubuntu Noble)11.0.28_6-jdk-ubi10-minimal, 11-ubi10-minimal(UBI 10 Minimal)Java 17
17.0.16_8-jdk-alpine, 17-jdk-alpine, 17-alpine(Alpine 最新版)17.0.16_8-jdk-jammy, 17-jammy(Ubuntu Jammy)Java 21
21.0.8_9-jdk-alpine-3.22, 21-jdk-alpine, 21-alpine(Alpine 3.22)21.0.8_9-jdk-noble, 21-jdk, 21(Ubuntu Noble,默认)Java 25
25_36-jdk-alpine-3.22, 25-jdk-alpine, 25-alpine(Alpine 3.22)25_36-jdk-noble, 25-jdk, 25, latest(Ubuntu Noble,最新版默认)共享标签自动指向最新稳定基础系统版本(通常为 Ubuntu Noble):
8-jdk, 8 → 8u462-b08-jdk-noble11-jdk, 11 → 11.0.28_6-jdk-noble17-jdk, 17 → 17.0.16_8-jdk-noble21-jdk, 21 → 21.0.8_9-jdk-noble25-jdk, 25, latest → 25_36-jdk-nobleamd64/eclipse-temurin:<version>(默认)基于 Ubuntu 系统(如 Jammy、Noble),包含完整系统工具,适合需要安装额外依赖的场景。推荐用于生产环境,稳定性高,兼容性好。
amd64/eclipse-temurin:<version>-alpine基于 Alpine Linux,体积小巧,使用 musl libc。适合对镜像大小要求严格的场景,但需注意部分依赖 glibc 的应用可能存在兼容性问题。
amd64/eclipse-temurin:<version>-ubi<version>-minimal基于 Red Hat UBI Minimal,精简的企业级基础镜像,适配 OpenShift 等平台,满足安全合规需求。
amd64、arm32v7、arm64v8、ppc64le、riscv64、s390x、windows-amd64(本镜像为 amd64 专用)注:使用前请确保遵守所有组件的许可证要求。
以下是 amd64/eclipse-temurin 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 版本下载页面。


manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务