adorsys/javaadorsys/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默认启用UseContainerSupport,JVM会自动根据容器内存限制配置堆大小。相关说明:
| 参数 | 说明 |
|---|---|
-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 | 





manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务