如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
注意: 这是 https://hub.docker.com/_/openjdk 的 windows-amd64 架构构建的"每个架构"仓库 -- 更多信息,请参阅官方镜像文档中的 https://github.com/docker-library/official-images#architectures-other-than-amd64 和官方镜像常见问题中的 https://github.com/docker-library/faq#an-images-source-changed-in-git-now-what%E3%80%82
此镜像已正式弃用,建议所有用户尽快寻找并使用合适的替代方案。以下是其他官方镜像替代方案的一些示例(按字母顺序排列,不表示任何有意或暗示的偏好):
有关更多信息,请参见 https://github.com/docker-library/openjdk/issues/505%E3%80%82
2022年7月之后,只有早期访问版本(源自 jdk.java.net)会继续接收更新,因为上述项目均未发布/支持这些版本。
维护者:
https://github.com/docker-library/openjdk
获取帮助的地方:
Docker 社区 Slack、Server Fault、Unix & Linux 或 Stack Overflow
Dockerfile 链接(参见常见问题中的 https://github.com/docker-library/faq#whats-the-difference-between-shared-and-simple-tags%EF%BC%89
https://github.com/docker-library/openjdk/blob/5f4ebde04e807b32991436ccdaa4b06e9b200875/26/jdk/windows/windowsservercore-ltsc2025/Dockerfile
https://github.com/docker-library/openjdk/blob/5f4ebde04e807b32991436ccdaa4b06e9b200875/26/jdk/windows/windowsservercore-ltsc2022/Dockerfile
https://github.com/docker-library/openjdk/blob/5f4ebde04e807b32991436ccdaa4b06e9b200875/26/jdk/windows/nanoserver-ltsc2025/Dockerfile
https://github.com/docker-library/openjdk/blob/5f4ebde04e807b32991436ccdaa4b06e9b200875/26/jdk/windows/nanoserver-ltsc2022/Dockerfile
26-ea-19-jdk, 26-ea-19, 26-ea-jdk, 26-ea, 26-jdk, 26:
26-ea-19-jdk-windowsservercore, 26-ea-19-windowsservercore, 26-ea-jdk-windowsservercore, 26-ea-windowsservercore, 26-jdk-windowsservercore, 26-windowsservercore:
26-ea-19-jdk-nanoserver, 26-ea-19-nanoserver, 26-ea-jdk-nanoserver, 26-ea-nanoserver, 26-jdk-nanoserver, 26-nanoserver:
提交问题的地方:
https://github.com/docker-library/openjdk/issues?q=
支持的架构: (https://github.com/docker-library/official-images#architectures-other-than-amd64)
https://hub.docker.com/r/amd64/openjdk/%E3%80%81https://hub.docker.com/r/arm64v8/openjdk/%E3%80%81https://hub.docker.com/r/winamd64/openjdk/
发布的镜像工件详情:
https://github.com/docker-library/repo-info/blob/master/repos/openjdk (https://github.com/docker-library/repo-info/commits/master/repos/openjdk)
(镜像元数据、传输大小等)
镜像更新:
https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fopenjdk
https://github.com/docker-library/official-images/blob/master/library/openjdk (https://github.com/docker-library/official-images/commits/master/library/openjdk)
本描述的来源:
https://github.com/docker-library/docs/tree/master/openjdk (https://github.com/docker-library/docs/commits/master/openjdk)
OpenJDK(Open Java Development Kit)是 Java 平台标准版(Java SE)的免费开源实现。自版本 7 起,OpenJDK 成为 Java SE 的官方参考实现。
***.org/wiki/OpenJDK
Java 是 Oracle 和/或其关联公司的注册商标。
!https://raw.githubusercontent.com/docker-library/docs/a3439b66b7980d1811f6b3835a3c541747172970/openjdk/logo.png
使用此镜像最直接的方式是将 Java 容器同时用作构建和运行时环境。在 Dockerfile 中,可以编写如下内容来编译和运行项目:
dockerfileFROM winamd64/openjdk:11 COPY . /usr/src/myapp WORKDIR /usr/src/myapp RUN javac Main.java CMD ["java", "Main"]
然后可以构建并运行 Docker 镜像:
console$ docker build -t my-java-app . $ docker run -it --rm --name my-running-app my-java-app
有时可能不适合在容器内运行应用。要在 Docker 实例内编译(而非运行)应用,可以执行如下命令:
console$ 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:
console$ start /b /wait /affinity 0x3 path/to/java.exe ...
在此示例中,CPU 亲和性十六进制掩码 0x3 会将 JVM 限制为 2 个 CPU 核心。
Windows Server 容器支持 RAM 限制,但 JVM 当前无法检测到它。为防止过度内存分配,必须指定 -XX:MaxRAM=... 选项,其值不得大于容器的 RAM 限制。
某些 shell(特别是 Alpine Linux 中包含的 https://github.com/docker-library/openjdk/issues/135%EF%BC%89%E4%B8%8D%E6%94%AF%E6%8C%81%E5%90%8D%E7%A7%B0%E5%B8%A6%E7%82%B9%E7%9A%84%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F%EF%BC%88%E6%8A%80%E6%9C%AF%E4%B8%8A%E4%B8%8D%E7%AC%A6%E5%90%88 POSIX 标准),因此会剥离它们而不是传递(如 Bash 所做的那样)。如果应用需要此类环境变量,可以直接使用 CMD ["java", ...](不使用 shell),或者(安装并)显式使用 Bash 而非 /bin/sh。
winamd64/openjdk 镜像有多种版本,每种版本设计用于特定用例。
winamd64/openjdk:<version>这是默认镜像。如果不确定需求,可能需要使用此版本。它设计为既可作为临时容器(挂载源代码并启动容器以启动应用),也可作为构建其他镜像的基础。
winamd64/openjdk:<version>-windowsservercore此镜像基于 https://hub.docker.com/r/microsoft/windows-servercore%E3%80%82%E5%9B%A0%E6%AD%A4%EF%BC%8C%E5%AE%83%E4%BB%85%E5%9C%A8%E8%AF%A5%E9%95%9C%E5%83%8F%E5%8F%AF%E7%94%A8%E7%9A%84%E7%8E%AF%E5%A2%83%E4%B8%AD%E5%B7%A5%E4%BD%9C%EF%BC%8C%E4%BE%8B%E5%A6%82 Windows 10 专业版/企业版(周年更新)或 Windows Server 2016。
有关如何在 Windows 上运行 Docker 的信息,请参阅 Microsoft 提供的相关"快速入门"指南:
查看此镜像中包含的软件的许可证信息。
与所有 Docker 镜像一样,这些镜像可能还包含其他软件,这些软件可能采用其他许可证(如基础发行版中的 Bash 等,以及主要软件的任何直接或间接依赖项)。
一些能够自动检测到的其他许可证信息可能位于 https://github.com/docker-library/repo-info/tree/master/repos/openjdk 中。
至于任何预构建镜像的使用,镜像用户有责任确保对本镜像的任何使用符合其中包含的所有软件的相关许可证。
以下是 winamd64/openjdk 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。


来自真实用户的反馈,见证轩辕镜像的优质服务