本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

该镜像已正式弃用,建议所有用户尽快寻找并使用合适的替代方案。以下是部分官方镜像替代方案示例(按字母顺序排列,无优先级暗示):
更多信息可查看docker-library/openjdk#505。
2022年7月后,仅早期访问版(Early Access builds,源码来自jdk.java.net)标签会继续更新,因为上述项目均不发布或支持此类版本。
Docker社区
Docker社区Slack、Server Fault、Unix & Linux 或 Stack Overflow
Dockerfile链接(关于“共享标签”与“简单标签”的区别,参见FAQ中的“‘Shared’和‘Simple’标签有何不同?”)
26-ea-18-jdk-oraclelinux9, 26-ea-18-oraclelinux9, 26-ea-jdk-oraclelinux9, 26-ea-oraclelinux9, 26-jdk-oraclelinux9, 26-oraclelinux9, 26-ea-18-jdk-oracle, 26-ea-18-oracle, 26-ea-jdk-oracle, 26-ea-oracle, 26-jdk-oracle, 26-oracle
26-ea-18-jdk-oraclelinux8, 26-ea-18-oraclelinux8, 26-ea-jdk-oraclelinux8, 26-ea-oraclelinux8, 26-jdk-oraclelinux8, 26-oraclelinux8
26-ea-18-jdk-trixie, 26-ea-18-trixie, 26-ea-jdk-trixie, 26-ea-trixie, 26-jdk-trixie, 26-trixie
26-ea-18-jdk-slim-trixie, 26-ea-18-slim-trixie, 26-ea-jdk-slim-trixie, 26-ea-slim-trixie, 26-jdk-slim-trixie, 26-slim-trixie, 26-ea-18-jdk-slim, 26-ea-18-slim, 26-ea-jdk-slim, 26-ea-slim, 26-jdk-slim, 26-slim
26-ea-18-jdk-bookworm, 26-ea-18-bookworm, 26-ea-jdk-bookworm, 26-ea-bookworm, 26-jdk-bookworm, 26-bookworm
26-ea-18-jdk-slim-bookworm, 26-ea-18-slim-bookworm, 26-ea-jdk-slim-bookworm, 26-ea-slim-bookworm, 26-jdk-slim-bookworm, 26-slim-bookworm
26-ea-18-jdk-windowsservercore-ltsc2025, 26-ea-18-windowsservercore-ltsc2025, 26-ea-jdk-windowsservercore-ltsc2025, 26-ea-windowsservercore-ltsc2025, 26-jdk-windowsservercore-ltsc2025, 26-windowsservercore-ltsc2025
26-ea-18-jdk-windowsservercore-ltsc2022, 26-ea-18-windowsservercore-ltsc2022, 26-ea-jdk-windowsservercore-ltsc2022, 26-ea-windowsservercore-ltsc2022, 26-jdk-windowsservercore-ltsc2022, 26-windowsservercore-ltsc2022
26-ea-18-jdk-nanoserver-ltsc2025, 26-ea-18-nanoserver-ltsc2025, 26-ea-jdk-nanoserver-ltsc2025, 26-ea-nanoserver-ltsc2025, 26-jdk-nanoserver-ltsc2025, 26-nanoserver-ltsc2025
26-ea-18-jdk-nanoserver-ltsc2022, 26-ea-18-nanoserver-ltsc2022, 26-ea-jdk-nanoserver-ltsc2022, 26-ea-nanoserver-ltsc2022, 26-jdk-nanoserver-ltsc2022, 26-nanoserver-ltsc2022
26-ea-18-jdk, 26-ea-18, 26-ea-jdk, 26-ea, 26-jdk, 26:
26-ea-18-jdk-oraclelinux926-ea-18-jdk-windowsservercore-ltsc202526-ea-18-jdk-windowsservercore-ltsc202226-ea-18-jdk-windowsservercore, 26-ea-18-windowsservercore, 26-ea-jdk-windowsservercore, 26-ea-windowsservercore, 26-jdk-windowsservercore, 26-windowsservercore:
26-ea-18-jdk-windowsservercore-ltsc202526-ea-18-jdk-windowsservercore-ltsc202226-ea-18-jdk-nanoserver, 26-ea-18-nanoserver, 26-ea-jdk-nanoserver, 26-ea-nanoserver, 26-jdk-nanoserver, 26-nanoserver:
26-ea-18-jdk-nanoserver-ltsc202526-ea-18-jdk-nanoserver-ltsc2022(更多信息参见官方镜像文档)
amd64、arm64v8、windows-amd64
repo-info仓库的repos/openjdk/目录(历史记录)
(包含镜像元数据、传输大小等)
official-images仓库的library/openjdk标签
official-images仓库的library/openjdk文件(历史记录)
docs仓库的openjdk/目录(历史记录)
OpenJDK(开放Java开发工具包)是Java平台标准版(Java SE)的免费开源实现。自版本7起,OpenJDK成为Java SE的官方参考实现。
***.org/wiki/OpenJDK
Java是Oracle及其关联公司的注册商标。
!logo
使用该镜像最直接的方式是将Java容器同时作为构建和运行环境。在Dockerfile中,可以按以下方式编写,以编译并运行项目:
FROM openjdk:11 COPY . /usr/src/myapp WORKDIR /usr/src/myapp RUN javac Main.java CMD ["java", "Main"]
然后构建并运行Docker镜像:
$ docker build -t my-java-app . $ docker run -it --rm --name my-running-app my-java-app
有时可能不需要在容器内运行应用,仅需编译。可通过以下命令在Docker实例内编译(但不运行)应用:
$ docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp openjdk:11 javac Main.java
该命令会将当前目录挂载为容器卷,设置工作目录为该卷,然后执行javac Main.java编译Main.java,输出Main.class文件。
JVM启动时会尝试检测可用CPU核心数和RAM,以调整内部参数(如垃圾回收线程数)。若容器限制了CPU/RAM,JVM用于探测的标准系统API可能返回主机级别的值,导致旧版JVM出现CPU过度使用或内存分配错误。
在Linux容器中,OpenJDK 8及更高版本可正确检测容器限制的CPU核心数和可用RAM,且默认启用此功能。
在Windows Server(非Hyper-V)容器中,CPU核心数限制不生效(被主机计算服务忽略)。需手动设置限制,例如通过以下命令启动JVM:
$ start /b /wait /affinity 0x3 path/to/java.exe ...
示例中,CPU亲和性十六进制掩码0x3将JVM限制为2个CPU核心。
RAM限制在Windows Server容器中受支持,但JVM目前无法检测。需通过-XX:MaxRAM=...参数指定不超过容器RAM限制的值,避免内存分配过度。
部分shell(如Alpine Linux中包含的BusyBox /bin/sh)不支持名称含点的环境变量(技术上不符合POSIX标准),会将其剥离(Bash则会保留)。若应用需要此类环境变量,可直接使用CMD ["java", ...](不通过shell),或安装并显式使用Bash替代/bin/sh。
openjdk镜像有多种版本,适用于不同场景。
openjdk:<version>这是默认镜像。若不确定需求,建议使用此版本。既可作为临时容器(挂载源码并启动容器运行应用),也可作为基础镜像构建其他镜像。
部分标签含bookworm或trixie等名称,这些是Debian的版本代号,标识镜像基于哪个Debian版本。若需安装镜像自带之外的包,建议显式指定此类标签,以减少Debian版本更新时的兼容性问题。
openjdk:<version>(12及以上版本)、openjdk:<version>-oracle 和 openjdk:<version>-oraclelinux8从openjdk:12开始,默认镜像及-oracle、-oraclelinux8变体基于官方Oracle Linux 8镜像,该镜像根据[Oracle Linux最终用户协议(EULA)]([***]
免费版仅支持 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