appdynamics/java-agent本Docker镜像作为AppDynamics Java Agent二进制文件的分发媒介,用于将Agent文件复制到应用程序容器中,以实现对Java应用程序的性能监控集成。
注意:本Docker镜像专门设计用于交付AppDynamics Java Agent二进制文件。强烈建议客户不要将此镜像用作其应用程序容器的基础镜像。
通过Init容器在主应用容器启动前完成Agent文件复制,利用共享卷实现文件共享。
yaml--- initContainers: - name: appd-agent image: appdynamics/java-agent:latest command: ["cp", "-r", "/opt/appdynamics/.", "/opt/appdynamics"] volumeMounts: - name: appd-agent-repo mountPath: /opt/appdynamics containers: - name: my-java-app image: my-java-app-image:latest volumeMounts: - name: appd-agent-repo mountPath: /opt/appdynamics env: - name: JAVA_TOOL_OPTIONS value: -javaagent:/opt/appdynamics/javaagent.jar volumes: - name: appd-agent-repo emptyDir: {}
appdynamics/java-agent:latest镜像,执行cp命令将/opt/appdynamics目录下所有文件复制到共享卷appd-agent-repo空目录卷,实现Init容器与主应用容器间的文件共享/opt/appdynamics,通过JAVA_TOOL_OPTIONS环境变量指定Agent路径通过多阶段构建从Agent镜像复制文件,集成到应用镜像中。
dockerfile# 阶段1: 获取Agent文件 FROM appdynamics/java-agent:latest AS appd-agent # 阶段2: 构建应用镜像 FROM openjdk:17-jdk-slim # 替换为实际应用基础镜像 # 复制Agent文件 COPY --from=appd-agent /opt/appdynamics /opt/appdynamics # 配置Agent启动参数 ENV JAVA_TOOL_OPTIONS="-javaagent:/opt/appdynamics/javaagent.jar" # 应用部署配置 WORKDIR /app COPY target/my-java-app.jar /app/my-java-app.jar CMD ["java", "-jar", "my-java-app.jar"]
COPY --from=appd-agent将Agent文件从第一阶段复制到/opt/appdynamics目录JAVA_TOOL_OPTIONS环境变量,指定Java Agent路径| 参数名称 | 说明 | 取值示例 |
|---|---|---|
| JAVA_TOOL_OPTIONS | Java启动参数,指定Agent路径 | -javaagent:/opt/appdynamics/javaagent.jar |
| 卷名称 | 用途 | 配置方式 |
|---|---|---|
| appd-agent-repo | Agent文件共享卷 | emptyDir: {}(临时空目录卷) |
appdynamics/java-agent:21.10.0)替代latest,确保版本稳定性/opt/appdynamics目录有读取权限JAVA_TOOL_OPTIONS中指定的Agent路径必须与实际挂载路径一致manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务