如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本文档对应 openjdk 官方镜像 的 amd64 架构专用仓库。更多信息可参考官方文档:
该镜像已正式弃用,建议所有用户尽快寻找并迁移至合适的替代方案。以下是官方推荐的替代镜像(按字母顺序排列,无优先级暗示):
amazoncorrettoeclipse-temurinibm-semeru-runtimesibmjavasapmachine详见 docker-library/openjdk#505。
2022 年 7 月后,仅 Early Access 构建(源码来自 jdk.java.net)会继续更新,此类构建未被上述替代项目支持或发布。
Docker 社区
Docker 社区 Slack、Server Fault、Unix & Linux 或 Stack Overflow
(关于“共享标签”与“简单标签”的区别,见 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-oracle26-ea-18-jdk-oraclelinux8, 26-ea-18-oraclelinux8, 26-ea-jdk-oraclelinux8, 26-ea-oraclelinux8, 26-jdk-oraclelinux8, 26-oraclelinux826-ea-18-jdk-trixie, 26-ea-18-trixie, 26-ea-jdk-trixie, 26-ea-trixie, 26-jdk-trixie, 26-trixie26-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-slim26-ea-18-jdk-bookworm, 26-ea-18-bookworm, 26-ea-jdk-bookworm, 26-ea-bookworm, 26-jdk-bookworm, 26-bookworm26-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-bookworm26-ea-18-jdk, 26-ea-18, 26-ea-jdk, 26-ea, 26-jdk, 26:
26-ea-18-jdk-oraclelinux9(更多信息)
amd64、arm64v8、windows-amd64
repo-info 仓库的 repos/openjdk/ 目录(历史记录)
(包含镜像元数据、传输大小等)
library/openjdk 标签library/openjdk 文件(历史记录)docs 仓库的 openjdk/ 目录(历史记录)
OpenJDK(Open Java Development Kit)是 Java 平台标准版(Java SE)的免费开源实现。自版本 7 起,OpenJDK 成为 Java SE 的官方参考实现。
Java 是 Oracle 及其关联公司的注册商标。
最直接的用法是将 Java 容器同时作为构建和运行环境。在 Dockerfile 中编写如下内容,可编译并运行项目:
dockerfileFROM amd64/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
若无需在容器内运行应用,仅需编译,可执行以下命令:
console$ docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp amd64/openjdk:11 javac Main.java
该命令会将当前目录挂载为容器卷,设置工作目录为该卷,然后执行 javac Main.java 编译 Main.java 并生成 Main.class。
JVM 启动时会探测可用 CPU 核心数和 RAM,以调整内部参数(如垃圾回收线程数)。若容器限制了 CPU/RAM,旧版 JVM 可能仍使用主机级别的资源值,导致 CPU 占用过高或内存分配错误。
(示例中console$ start /b /wait /affinity 0x3 path/to/java.exe ...
0x3 为十六进制掩码,限制 JVM 使用 2 个 CPU 核心)。-XX:MaxRAM=... 指定不超过容器 RAM 限制的值。部分 shell(如 Alpine Linux 中包含的 BusyBox /bin/sh)不支持名称含句点的环境变量(技术上不符合 POSIX 标准),会直接剥离这类变量(Bash 则会保留)。若应用依赖此类环境变量,可:
CMD ["java", ...](不通过 shell);/bin/sh。amd64/openjdk 提供多种变体,适用于不同场景:
amd64/openjdk:<version>默认镜像。若不确定需求,建议使用此变体。既可作为临时容器(挂载源码并启动应用),也可作为基础镜像构建其他镜像。
部分标签含 bookworm 或 trixie 等名称,这些是 Debian 的版本代号,标识镜像基于的 Debian 版本。若需安装额外包,建议显式指定版本代号,以减少 Debian 新版本发布时的兼容性问题。
amd64/openjdk:<version>(12 及以上版本)、amd64/openjdk:<version>-oracle 和 amd64/openjdk:<version>-oraclelinux8openjdk:12 及以上的默认镜像、-oracle 和 -oraclelinux8 变体基于官方 Oracle Linux 8 镜像,遵循 Oracle Linux 最终用户许可协议(EULA)(GPLv2 许可)。-oraclelinux7 变体基于 Oracle Linux 7 镜像,遵循 Oracle Linux 7 EULA。OpenJDK 二进制由 Oracle 构建,源码来自 OpenJDK 社区,许可为 GPLv2 附带 Classpath 例外条款。
查看镜像中软件的 许可证信息。
与所有 Docker 镜像一样,其中可能包含其他软件(如基础发行版的 Bash 及依赖),可能适用其他许可证。
自动检测到的额外许可证信息可在 repo-info 仓库的 openjdk/ 目录 中找到。
使用预构建镜像时,用户需自行确保对镜像中所有软件的使用符合相关许可证要求。
以下是 amd64/openjdk 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。


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