
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本镜像基于Azul Zulu OpenJDK构建,提供稳定可靠的Java运行环境,支持多种标签、操作系统和配置选项,适用于Java应用的开发、测试和生产部署。
注意:时间戳标签(Timestamped tags)不维护。
jdk-11, jdk-11-debian, jdk-11-debian-10, jdk-11-busterjdk-11-ubuntu, jdk-11-ubuntu-20.04, jdk-11-focaljdk-11u10, jdk-11u10-debian, jdk-11u10-debian-10, jdk-11u10-busterjdk-11u10-ubuntu, jdk-11u10-ubuntu-20.04, jdk-11u10-focaljdk-11-yyyymmdd, jdk-11-debian-yyyymmdd, jdk-11-debian-10-yyyymmdd, jdk-11-buster-yyyymmddjdk-11-ubuntu-yyyymmdd, jdk-11-ubuntu-20.04-yyyymmdd, jdk-11-focal-yyyymmddjdk-11u10-yyyymmdd, jdk-11u10-debian-yyyymmdd, jdk-11u10-debian-10-yyyymmdd, jdk-11u10-buster-yyyymmddjdk-11u10-ubuntu-yyyymmdd, jdk-11u10-ubuntu-20.04-yyyymmdd, jdk-11u10-focal-yyyymmddjdk-11-yyyymmdd.buildNumber, jdk-11-debian-yyyymmdd.buildNumber, jdk-11-debian-10-yyyymmdd.buildNumber, jdk-11-buster-yyyymmdd.buildNumberjdk-11-ubuntu-yyyymmdd.buildNumber, jdk-11-ubuntu-20.04-yyyymmdd.buildNumber, jdk-11-focal-yyyymmdd.buildNumberjdk-11u10-yyyymmdd.buildNumber, jdk-11u10-debian-yyyymmdd.buildNumber, jdk-11u10-debian-10-yyyymmdd.buildNumber, jdk-11u10-buster-yyyymmdd.buildNumberjdk-11u10-ubuntu-yyyymmdd.buildNumber, jdk-11u10-ubuntu-20.04-yyyymmdd.buildNumber, jdk-11u10-focal-yyyymmdd.buildNumber注意:不要在生产环境中使用。-SNAPSHOT标签表示来自主分支构建的开发工件。
jdk-11-SNAPSHOT, jdk-11-debian-SNAPSHOT, jdk-11-debian-10-SNAPSHOT, jdk-11-buster-SNAPSHOTjdk-11-ubuntu-SNAPSHOT, jdk-11-ubuntu-20.04-SNAPSHOT, jdk-11-focal-SNAPSHOTjdk-11u10-SNAPSHOT, jdk-11u10-debian-SNAPSHOT, jdk-11u10-debian-10-SNAPSHOT, jdk-11u10-buster-SNAPSHOTjdk-11u10-ubuntu-SNAPSHOT, jdk-11u10-ubuntu-20.04-SNAPSHOT, jdk-11u10-focal-SNAPSHOTjdk-11-SNAPSHOT-yyyymmdd, jdk-11-debian-SNAPSHOT-yyyymmdd, jdk-11-debian-10-SNAPSHOT-yyyymmdd, jdk-11-buster-SNAPSHOT-yyyymmddjdk-11-ubuntu-SNAPSHOT-yyyymmdd, jdk-11-ubuntu-20.04-SNAPSHOT-yyyymmdd, jdk-11-focal-SNAPSHOT-yyyymmddjdk-11u10-SNAPSHOT-yyyymmdd, jdk-11u10-debian-SNAPSHOT-yyyymmdd, jdk-11u10-debian-10-SNAPSHOT-yyyymmdd, jdk-11u10-buster-SNAPSHOT-yyyymmddjdk-11u10-ubuntu-SNAPSHOT-yyyymmdd, jdk-11u10-ubuntu-20.04-SNAPSHOT-yyyymmdd, jdk-11u10-focal-SNAPSHOT-yyyymmddjdk-11-SNAPSHOT-yyyymmdd.buildNumber, jdk-11-debian-SNAPSHOT-yyyymmdd.buildNumber, jdk-11-debian-10-SNAPSHOT-yyyymmdd.buildNumber, jdk-11-buster-SNAPSHOT-yyyymmdd.buildNumberjdk-11-ubuntu-SNAPSHOT-yyyymmdd.buildNumber, jdk-11-ubuntu-20.04-SNAPSHOT-yyyymmdd.buildNumber, jdk-11-focal-SNAPSHOT-yyyymmdd.buildNumberjdk-11u10-SNAPSHOT-yyyymmdd.buildNumber, jdk-11u10-debian-SNAPSHOT-yyyymmdd.buildNumber, jdk-11u10-debian-10-SNAPSHOT-yyyymmdd.buildNumber, jdk-11u10-buster-SNAPSHOT-yyyymmdd.buildNumberjdk-11u10-ubuntu-SNAPSHOT-yyyymmdd.buildNumber, jdk-11u10-ubuntu-20.04-SNAPSHOT-yyyymmdd.buildNumber, jdk-11u10-focal-SNAPSHOT-yyyymmdd.buildNumber提供多个环境变量用于调整镜像行为。虽非必需,但可显著提升使用体验。这些变量由初始化脚本读取并追加到JAVA_OPTS。
| 变量名 | 默认值 | 对应的Java参数 |
|---|---|---|
| JAVA_XMS | 无 | -Xmx |
| JAVA_XMX | 无 | -Xms |
| DEBUG | false | -Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n |
| JMX_ENABLED | false | -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.rmi.port=5000 -Dcom.sun.management.jmxremote.port=5000 -Djava.rmi.server.hostname=$JMX_RMI_HOST |
| JMX_RMI_HOST | 0.0.0.0 | |
| JAVA_OPTS_<variable>=<value> | <value> | <variable> |
镜像会遍历所有以JAVA_OPTS_开头的环境变量,并在容器启动时将其收集到JAVA_OPTS变量中,用于向Java进程传递JVM参数。
环境变量格式应为JAVA_OPTS_xxx="-Dkey=value",其中xxx为忽略的键名。
注意:忽略的键名在使用多个docker-compose.yml文件或docker-compose.override.yml覆盖特定JVM参数时有用,详情参见Docker Compose文档。
openjdk镜像有多种变体,标签结构如下:
openjdk:<type>-<version>-<os>
变体由三个参数组合而成:
jdk或jre11或11u10debian、debian-10或buster如需其他参数组合,请提交issue。
通常维护不同Java主版本的LTS版本最新更新:
jdk-11-debianjdk-11-ubuntu注意:Java更新版本(次要版本)不维护。例如:当前Debian JDK 11镜像标记为jdk-11-debian-10,并附加jdk-11u10-debian-10标签表示Java 11更新版本。发布下一个更新后,jdk-11-debian-10标签会更新,但jdk-11u10-debian-10将不再支持,也不会接收操作系统或Java安全补丁。
debian:busterubuntu:focal本镜像使用Docker ENTRYPOINT提供初始化钩子。
如需在基于此镜像的派生镜像中执行额外初始化,可在/docker-entrypoint.d/目录下添加一个或多个*.sh脚本。脚本会被source执行,无需可执行权限(在现有shell中运行,脚本创建或修改的变量在执行后仍可用)。初始化脚本按当前区域设置的名称排序执行。
初始化完成后,主CMD会被exec执行,避免在子shell中启动主进程。
可通过docker run --entrypoint标志覆盖或禁用初始化脚本。
要构建本地版本的Java镜像:
bash./gradlew buildDockerImage
设置环境变量DEBUG=true,调试端口为8000。
设置环境变量JMX_ENABLED=true,JMX端口为5000。
以下是 koenvangeerteruy/openjdk 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。


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