Java 原生应用容器化规范
注意:适用于 ACP v3.14.3、v3.16.2、v3.18 及以上版本。
只有当 Java 应用使用 JAVA_TOOL_OPTIONS 环境变量时,才必须遵循以下容器化规范,以确保应用自身对 JAVA_TOOL_OPTIONS 环境变量的配置能够生效。具体而言,在容器平台上部署时,应用的 Deployment 应显式声明 JAVA_TOOL_OPTIONS 环境变量。示例如下:
原因:当 Java 应用(Deployment)作为服务(OpenTelemetry 治理)添加到平台时,系统会通过向 pod 的 JAVA_TOOL_OPTIONS 环境变量追加 -javaagent 参数来自动注入 Java Agent,例如 -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 相同的目录中。