如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
adorsys/java 是一个Java运行时镜像,专为容器环境设计,提供Java应用运行所需的基础环境,适用于Docker、Kubernetes、OpenShift等容器平台的运行时场景。
/docker-entrypoint.d/目录添加自定义shell脚本,在容器启动时执行额外初始化逻辑UseContainerSupport,自动根据容器资源配置JVM堆内存限制JAVA_OPTS环境变量自定义JVM参数,适配不同部署需求适用于在容器环境中运行Java应用程序的场景,尤其适合生产环境部署。可配合Kubernetes/OpenShift的资源限制功能,实现JVM内存动态优化,避免资源冲突,保障应用稳定运行。
将Java应用JAR包复制到镜像中即可运行,镜像内置启动命令:
dockerfileFROM adorsys/java:8 COPY ./target/backend-executable.jar .
如需在容器启动时执行额外逻辑(如修改后端URL),可将shell脚本复制到/docker-entrypoint.d/目录,容器启动时会自动执行该目录下的脚本。
生产环境注意事项
生产环境中应使用OpenShift/Kubernetes的资源限制(参考文档)。为避免容器资源限制与JVM参数冲突(如-Xmx),不应在JAVA_OPTS中设置-Xmx,默认JAVA_OPTS为-Xmx128m,生产环境需通过Kubernetes/OpenShift将JAVA_OPTS覆盖为空字符串。
Java 8u191及Java 11配置
Java 8u191及以上版本和Java 11默认启用UseContainerSupport,JVM会自动根据容器内存限制配置堆大小。相关说明:
Java 8(191之前版本)配置参数
| 参数 | 说明 |
|---|---|
-XshowSettings:vm | 启动时显示计算出的堆空间配置 |
-XX:+UnlockExperimentalVMOptions | 允许使用实验性JVM参数 |
-XX:+UseCGroupMemoryLimitForHeap | 将-XX:MaxRAM设为容器内存限制,最大堆大小为1/-XX:MaxRAMFraction |
-Dsun.zip.disableMemoryMapping=true | 禁用JAR文件内存映射,减少VmRSS占用,类加载性能开销可忽略 |
-XX:MaxRAMFraction=1 | 计算公式:-XX:MaxRAM * 1/-XX:MaxRAMFraction = -Xmx,1表示使用所有可用内存 |
-XX:+UseParallelGC | JVM默认GC,无需强制设置 |
-XX:MinHeapFreeRatio=5-XX:MaxHeapFreeRatio=10 | 控制堆内存收缩和增长策略,优化系统可用内存 |
-XX:GCTimeRatio=4 | 指定GC时间占比目标,值为4表示GC时间不超过总时间的20% |
-XX:AdaptiveSizePolicyWeight=90 | 调整GC时间目标检查对当前GC时间的权重,提升响应性 |
| 标签名称 | 描述 | 镜像大小 |
|---|---|---|
8 | 基于RHEL8 UBI,包含RH OpenJDK 8 | ![]([***] |
11 | 基于RHEL8 UBI,包含RH OpenJDK 11 | ![]([***] |
以下是 adorsys/java 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务