JDK(Java Development Kit)的基础镜像通常基于 Linux 操作系统,具体使用哪个发行版取决于镜像的提供者和版本。以下是常见的几种情况:
1. 官方 OpenJDK 镜像(Docker Hub)
在 Docker Hub 上,官方的 openjdk 镜像(现已归档,推荐使用 eclipse-temurin)过去常基于:
- Debian(如
debian:bullseye或debian:sid) - 例如:
openjdk:11-jdk可能基于 Debian 系统
但自2023年起,AdoptOpenJDK 已迁移至 Eclipse Foundation,新的官方推荐是:
✅ 推荐:Eclipse Temurin JDK 镜像
由 Eclipse 基金会维护,Docker 镜像名为 eclipse-temurin。
- 基础系统:
- 默认使用 Ubuntu(尤其是 LTS 版本,如 20.04、22.04)
- 也有基于 Alpine Linux 的轻量级版本(适用于生产环境对体积敏感的场景)
示例:
# 基于 Ubuntu 的 Temurin JDK 17
FROM eclipse-temurin:17-jdk
# 轻量版:基于 Alpine Linux
FROM eclipse-temurin:17-jdk-alpine
2. 其他常见 JDK 镜像及其基础系统
| JDK 镜像来源 | 基础操作系统 | 特点 |
|---|---|---|
eclipse-temurin |
Ubuntu / Alpine | 官方推荐,社区活跃 |
amazoncorretto |
Amazon Linux / Alpine | AWS 提供,性能优化 |
adoptopenjdk |
Ubuntu / Alpine / CentOS(已归档) | 曾经主流,现不推荐新项目使用 |
bellsoft/liberica-openjdk |
Alpine / Debian / Ubuntu | Liberica JDK,支持 GraalVM |
总结:JDK 基础镜像使用的系统
主流是 Linux,具体多为 Ubuntu 或 Alpine Linux
- 通用选择:
eclipse-temurin:xx-jdk→ 基于 Ubuntu - 追求轻量:
eclipse-temurin:xx-jdk-alpine→ 基于 Alpine Linux - 不推荐使用已归档的
openjdk镜像
建议
对于新项目,推荐使用:
FROM eclipse-temurin:17-jdk # 或 11-jdk,基于 Ubuntu
或轻量级:
FROM eclipse-temurin:17-jdk-alpine
这样可确保长期维护和安全性更新。
秒懂云