
# 原生Docker应用接入APM
如果有一个已部署Java应用的镜像，可以在原生docker启动命令中添加java探针所需参数，启动镜像即可将Java应用接入APM，即可在拓扑、事务界面上查看应用情况。
#### 前提条件
已在Docker中部署Java应用。
#### 操作流程
![](https://support.huaweicloud.com/qs-apm/zh-cn_image_0228754784.png "点击放大")
#### 步骤一：开通APM
请参考[开通和购买](https://support.huaweicloud.com/qs-apm/apm_00_0003.html)。
#### 步骤二：安装ICAgent
1. 获取AK/SK。
2. 登录**[应用性能管理](https://console.huaweicloud.com/apm/?locale=zh-cn)**。
3. 在左侧导航栏中选择"采集管理 \> Agent管理"。
4. 单击"安装ICAgent"，选择"主机类型"为"华为云主机"、"安装系统"为"Linux"。
5. 选择"安装方式"为"获取AK/SK凭证"，在文本框中输入已获取的AK/SK，生成ICAgent安装命令，单击"复制命令"，复制ICAgent安装命令。
   ![](https://support.huaweicloud.com/qs-apm/public_sys-resources/note_3.0-zh-cn.png)
   请确保输入正确的AK/SK，否则将无法安装ICAgent。
   ![](https://support.huaweicloud.com/qs-apm/zh-cn_image_0229430549.png "点击放大")
   
6. 使用ECS提供的远程登录功能以**root** 用户登录ECS，执行ICAgent安装命令进行安装。
   当显示"ICAgent install success"时，表示安装成功，ICAgent已安装在了"/opt/oss/servicemgr/"目录。
   
 
#### 步骤三：修改权限（可选）
若您使用非**root**用户启动程序，则您开启应用监控前需要执行如下命令修改探针文件与输出目录权限。
```
chmod -R 777 /opt/oss/servicemgr/ICAgent/pinpoint/
mkdir -p /opt/apm-container 
chmod -R 777 /opt/apm-container
```
#### 步骤四：启动镜像
原生docker启动命令中添加java探针所需参数，其中应用名称与服务名称根据实际调整。以vmall应用、服务名称vmall-dao-service为例。
1. 修改docker启动脚本。 示例
   原始启动命令如下：
   ```
   docker run -p 8080:8080 demo:latest
   ```
   配置后启动命令如下：
   ```
   docker run -e JAVA_TOOL_OPTIONS="-javaagent:/opt/oss/servicemgr/ICAgent/pinpoint/pinpoint-bootstrap.jar -Dapm_application=vmall -Dapm_tier=vmall-dao-service -Dapm_container=true" -v /opt/apm-container:/paas-apm/collectors/pinpoint -v /opt/oss/servicemgr/ICAgent/pinpoint:/opt/oss/servicemgr/ICAgent/pinpoint -p 8080:8080 demo:latest
   ```
   
2. 运行docker run命令来启动镜像，可以将镜像的应用接入APM。
 
#### 步骤五：在APM上管理应用
应用启动后，等待3分钟应用数据就会呈现在APM界面中，此时登录APM，您可以在APM上通过拓扑、调用链等进行应用性能优化，详细操作请参考[用户指南](https://support.huaweicloud.com/usermanual-apm/apm_02_0006.html)。
![](https://support.huaweicloud.com/qs-apm/zh-cn_image_0169439764.png "点击放大")
