本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
注意: 这是 openjdk 官方镜像 的 windows-amd64 架构构建的"每个架构"仓库 -- 更多信息,请参阅官方镜像文档中的 "除 amd64 之外的架构?" 和官方镜像常见问题中的 "镜像的源代码在 Git 中已更改,现在该怎么办?"。
此镜像已正式弃用,建议所有用户尽快寻找并使用合适的替代方案。以下是其他官方镜像替代方案的一些示例(按字母顺序排列,不表示任何有意或暗示的偏好):
amazoncorrettoeclipse-temurinibm-semeru-runtimesibmjavasapmachine有关更多信息,请参见 docker-library/openjdk#505。
2022年7月之后,只有早期访问版本(源自 jdk.java.net)会继续接收更新,因为上述项目均未发布/支持这些版本。
维护者:
Docker 社区
获取帮助的地方:
Docker 社区 Slack、Server Fault、Unix & Linux 或 Stack Overflow
Dockerfile 链接(参见常见问题中的 "'Shared' 和 'Simple' 标签有什么区别?")
26-ea-19-jdk-windowsservercore-ltsc2025, 26-ea-19-windowsservercore-ltsc2025, 26-ea-jdk-windowsservercore-ltsc2025, 26-ea-windowsservercore-ltsc2025, 26-jdk-windowsservercore-ltsc2025, 26-windowsservercore-ltsc2025
26-ea-19-jdk-windowsservercore-ltsc2022, 26-ea-19-windowsservercore-ltsc2022, 26-ea-jdk-windowsservercore-ltsc2022, 26-ea-windowsservercore-ltsc2022, 26-jdk-windowsservercore-ltsc2022, 26-windowsservercore-ltsc2022
26-ea-19-jdk-nanoserver-ltsc2025, 26-ea-19-nanoserver-ltsc2025, 26-ea-jdk-nanoserver-ltsc2025, 26-ea-nanoserver-ltsc2025, 26-jdk-nanoserver-ltsc2025, 26-nanoserver-ltsc2025
26-ea-19-jdk-nanoserver-ltsc2022, 26-ea-19-nanoserver-ltsc2022, 26-ea-jdk-nanoserver-ltsc2022, 26-ea-nanoserver-ltsc2022, 26-jdk-nanoserver-ltsc2022, 26-nanoserver-ltsc2022
26-ea-19-jdk, 26-ea-19, 26-ea-jdk, 26-ea, 26-jdk, 26:
26-ea-19-jdk-windowsservercore-ltsc202526-ea-19-jdk-windowsservercore-ltsc202226-ea-19-jdk-windowsservercore, 26-ea-19-windowsservercore, 26-ea-jdk-windowsservercore, 26-ea-windowsservercore, 26-jdk-windowsservercore, 26-windowsservercore:
26-ea-19-jdk-windowsservercore-ltsc202526-ea-19-jdk-windowsservercore-ltsc202226-ea-19-jdk-nanoserver, 26-ea-19-nanoserver, 26-ea-jdk-nanoserver, 26-ea-nanoserver, 26-jdk-nanoserver, 26-nanoserver:
26-ea-19-jdk-nanoserver-ltsc202526-ea-19-jdk-nanoserver-ltsc2022提交问题的地方:
[***]
支持的架构: (更多信息)
amd64、arm64v8、windows-amd64
发布的镜像工件详情:
repo-info 仓库的 repos/openjdk/ 目录 (历史记录)
(镜像元数据、传输大小等)
镜像更新:
official-images 仓库的 library/openjdk 标签
official-images 仓库的 library/openjdk 文件 (历史记录)
本描述的来源:
docs 仓库的 openjdk/ 目录 (历史记录)
OpenJDK(Open Java Development Kit)是 Java 平台标准版(Java SE)的免费开源实现。自版本 7 起,OpenJDK 成为 Java SE 的官方参考实现。
***.org/wiki/OpenJDK
Java 是 Oracle 和/或其关联公司的注册商标。
!logo
使用此镜像最直接的方式是将 Java 容器同时用作构建和运行时环境。在 Dockerfile 中,可以编写如下内容来编译和运行项目:
FROM winamd64/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 winamd64/openjdk:11 javac Main.java
这会将当前目录作为卷添加到容器,将工作目录设置为该卷,并运行 javac Main.java 命令,该命令会指示 Java 编译 Main.java 中的代码,并将 Java 类文件输出到 Main.class。
JVM 在启动时会尝试检测可用的 CPU 核心数和 RAM,以相应调整其内部参数(如生成的垃圾回收器线程数)。当容器以有限的 CPU/RAM 运行时,JVM 用于探测的标准系统 API 将返回主机范围的值。这可能导致旧版本 JVM 出现过高的 CPU 使用率和内存分配错误。
在 Linux 容器中,OpenJDK 8 及更高版本可以正确检测容器限制的 CPU 核心数和可用 RAM。对于所有当前支持的 OpenJDK 版本,此功能默认启用。
在 Windows Server(非 Hyper-V)容器中,可用 CPU 核心数的限制不起作用(被主机计算服务忽略)。要手动设置限制,可以按如下方式启动 JVM:
$ start /b /wait /affinity 0x3 path/to/java.exe ...
在此示例中,CPU 亲和性十六进制掩码 0x3 会将 JVM 限制为 2 个 CPU 核心。
Windows Server 容器支持 RAM 限制,但 JVM 当前无法检测到它。为防止过度内存分配,必须指定 -XX:MaxRAM=... 选项,其值不得大于容器的 RAM 限制。
某些 shell(特别是 Alpine Linux 中包含的 BusyBox /bin/sh)不支持名称带点的环境变量(技术上不符合 POSIX 标准),因此会剥离它们而不是传递(如 Bash 所做的那样)。如果应用需要此类环境变量,可以直接使用 CMD ["java", ...](不使用 shell),或者(安装并)显式使用 Bash 而非 /bin/sh。
winamd64/openjdk 镜像有多种版本,每种版本设计用于特定用例。
winamd64/openjdk:<version>这是默认镜像。如果不确定需求,可能需要使用此版本。它设计为既可作为临时容器(挂载源代码并启动容器以启动应用),也可作为构建其他镜像的基础。
winamd64/openjdk:<version>-windowsservercore此镜像基于 Windows Server Core (mcr.microsoft.com/windows/servercore)。因此,它仅在该镜像可用的环境中工作,例如 Windows 10 专业版/企业版(周年更新)或 Windows Server 2016。
有关如何在 Windows 上运行 Docker 的信息,请参阅 Microsoft 提供的相关"快速入门"指南:
查看此镜像中包含的软件的许可证信息。
与所有 Docker 镜像一样,这些镜像可能还包含其他软件,这些软件可能采用其他许可证(如基础发行版中的 Bash 等,以及主要软件的任何直接或间接依赖项)。
一些能够自动检测到的其他许可证信息可能位于 repo-info 仓库的 openjdk/ 目录 中。
至于任何预构建镜像的使用,镜像用户有责任确保对本镜像的任何使用符合其中包含的所有软件的相关许可证。

免费版仅支持 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