Java 应用容器化规范
注意:适用于 ACP v3.14.3、v3.16.2、v3.18 及以上版本。
仅当 Java 应用使用 JAVA_TOOL_OPTIONS 环境变量时,必须遵循以下容器化规范,以确保应用自身配置的 JAVA_TOOL_OPTIONS 环境变量生效。具体来说,在容器平台部署时,应用的 Deployment 应显式声明 JAVA_TOOL_OPTIONS 环境变量。示例如下:
原因:当 Java 应用(Deployment)作为服务添加到平台(OpenTelemetry治理)时,Java Agent 会自动注入,通过在 pod 的 JAVA_TOOL_OPTIONS 环境变量中追加 -javaagent 参数,例如 -javaagent:/otel-auto-instrumentation-java/javaagent.jar。如果以其他方式配置了 JAVA_TOOL_OPTIONS,可能会被覆盖。
Java 应用容器化规范(旧版)
注意:适用于除上述新版规范外的 ACP 版本。
为确保平台的治理能力能够有效作用于您的 Java 应用,请在开发和构建过程中遵循以下 Java 应用容器化规范:
基础镜像选择
建议使用 JDK 8u212 及以上版本作为基础镜像。
Dockerfile 模板
请参考本文档提供的 Dockerfile 模板及说明,修改 Java 应用项目中使用的 Dockerfile 文件。
Dockerfile 模板如下:
Dockerfile 模板中引用的 start.sh 脚本内容如下,请将脚本文件与 Dockerfile 保存在同一目录。