
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本镜像基于CentOS构建,提供OpenJDK 8 (Java Runtime Environment, JRE)环境,专为容器化Java应用设计。包含Agent Bond代理(集成Jolokia和Prometheus jmx_exporter)及优化的启动脚本/deployments/run-java.sh,支持Java应用的便捷部署、监控与管理。
/opt/agent-bond/agent-bond.jar。run-java.sh:位于/deployments/run-java.sh,优化容器环境下Java应用启动流程,支持通过环境变量配置JVM参数、类路径、主类或JAR文件,自动适应容器资源限制(如内存、CPU约束)。适用于需要在容器中运行Java应用的场景,尤其适合需集成监控(如Prometheus指标采集)和JMX管理(如Jolokia远程访问)的微服务、企业级Java应用。支持通过环境变量灵活配置应用启动参数,适配不同部署环境需求。
Agent Bond配置
Agent Bond通过agent-bond-opts命令生成JVM启动参数,需在应用启动脚本中集成。例如:
bash# 在应用启动脚本中添加 export JAVA_OPTIONS="$JAVA_OPTIONS $(agent-bond-opts)" # 启动Java应用时使用JAVA_OPTIONS
环境变量配置:
Agent Bond全局配置:
AB_OFF:设为任意值时禁用Agent Bond(输出空值),默认启用。AB_ENABLED:启用的子代理列表(逗号分隔),允许值为jolokia和jmx_exporter,默认启用两者。Jolokia配置:
AB_JOLOKIA_CONFIG:Jolokia配置文件路径,默认/opt/jolokia/jolokia.properties。AB_JOLOKIA_HOST:绑定主机地址,默认0.0.0.0。AB_JOLOKIA_PORT:监听端口,默认8778。AB_JOLOKIA_USER/AB_JOLOKIA_PASSWORD:认证用户名/密码,默认关闭认证。AB_JOLOKIA_HTTPS:启用HTTPS,默认自动生成自签名证书(若未配置serverCert)。AB_JOLOKIA_ID:代理ID,默认$HOSTNAME(容器ID)。AB_JOLOKIA_OPTS:附加Jolokia参数(格式:key=value,key=value)。AB_JOLOKIA_AUTH_OPENSHIFT:启用OpenShift TLS客户端认证,自动切换至HTTPS,默认CA证书路径/var/run/secrets/kubernetes.io/serviceaccount/ca.crt。jmx_exporter配置:
AB_JMX_EXPORTER_OPTS:jmx_exporter配置(格式:<port>:<config路径>)。AB_JMX_EXPORTER_PORT:监听端口,默认9779。AB_JMX_EXPORTER_CONFIG:配置文件路径,默认/opt/agent-bond/jmx_exporter_config.json。启动脚本run-java.sh
脚本默认命令为run(可省略),用于启动Java应用;支持options子命令输出JVM参数(供自定义Java命令使用)。
基本用法:
bash# 启动应用(默认子命令run) /deployments/run-java.sh [应用参数] # 输出JVM参数(供其他Java命令使用) /deployments/run-java.sh options [选项]
环境变量配置:
应用路径与类路径:
JAVA_APP_DIR:应用目录,默认/deployments。JAVA_LIB_DIR:依赖JAR目录,默认同JAVA_APP_DIR;支持通过classpath文件指定类路径(单行冒号分隔或多行JAR路径)。JAVA_CLASSPATH:显式类路径,未设置时自动读取${JAVA_APP_DIR}/classpath文件或添加${JAVA_APP_DIR}/*。应用入口:
JAVA_MAIN_CLASS:主类名(需配合类路径)。JAVA_APP_JAR:可执行JAR文件(通过java -jar启动);若未设置,自动查找JAVA_APP_DIR中唯一JAR文件。JVM参数与资源配置:
JAVA_OPTIONS:附加JVM参数。JAVA_MAX_MEM_RATIO:未指定-Xmx时,基于容器内存限制计算最大堆内存比例(默认:容器内存<300M时25%,否则50%;设为0禁用)。JAVA_INIT_MEM_RATIO:未指定-Xms时,基于容器内存限制计算初始堆内存比例(默认未设置)。JAVA_MAX_CORE:限制CPU核心数(用于GC线程等调优,设为0禁用核心数调优)。JAVA_MAJOR_VERSION:Java主版本(>=7),用于适配JVM参数(默认自动检测)。调试与诊断:
JAVA_DEBUG:启用远程调试。JAVA_DEBUG_SUSPEND:调试挂起模式。JAVA_DEBUG_PORT:调试端口,默认5005。JAVA_DIAGNOSTICS:输出诊断信息。代理配置:
HTTP_PROXY/HTTPS_PROXY:HTTP/HTTPS代理URL(自动转换为http.proxyHost等系统属性)。no_proxy/NO_PROXY:无需代理的主机列表(转换为http.nonProxyHosts)。示例:
bash# 设置应用目录和内存比例 export JAVA_APP_DIR=/app export JAVA_MAX_MEM_RATIO=40 # 启动应用并传递参数 /deployments/run-java.sh --user admin --port 8080
options子命令示例:
bash# 生成适配容器内存的Maven参数 export MAVEN_OPTS="$(/deployments/run-java.sh options --memory)" mvn clean install
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务