一、离线安装推荐步骤 1本地解压unzip arthas.zip -d ./arthas/步骤 2复制到容器docker cp ./arthas/ 容器名:/opt/arthas/步骤 3进入容器docker exec -it 容器名 bash # 若容器没有 bash用 sh docker exec -it 容器名 sh步骤 4启动 Arthascd /opt/arthas java -jar arthas-boot.jar启动后会列出所有 Java 进程输入序号选择目标进程即可。二、容器内直接下载需网络docker exec -it 容器名 bash cd /tmp wget https://arthas.aliyun.com/download/latest_version?mirroraliyun -O arthas.zip unzip arthas.zip -d /opt/arthas/ rm arthas.zip cd /opt/arthas java -jar arthas-boot.jar三、Dockerfile 预装测试环境FROM openjdk:8-jdk-alpine RUN apk add --no-cache wget unzip RUN wget https://arthas.aliyun.com/download/latest_version?mirroraliyun -O /tmp/arthas.zip \ unzip /tmp/arthas.zip -d /opt/arthas \ rm /tmp/arthas.zip COPY your-app.jar /app/app.jar CMD [java, -jar, /app/app.jar]四、常用调试命令观察接口参数和返回值watch com.example.YourController yourMethod {params, returnObj} -x 2params— 方法入参列表returnObj— 方法返回对象-x 2— 展开对象深度 2 层过滤特定请求watch com.example.YourController yourMethod {params, returnObj} params[0].id 100观察慢请求watch com.example.YourController yourMethod {params, returnObj, cost} #cost 100退出 Arthasquit— 退出控制台不清理增强stop— 完全停止 Arthas清除所有增强五、常见问题java: command not found— 容器无 JDK换用 openjdk:8-jdk 镜像tools.jar not found— 用了 JRE 而非 JDK换用完整 JDK 镜像找不到 unzip— 基础镜像过于精简用方式一离线包 docker cpattach 权限不足—docker exec -it -u root 容器 bash以 root 进入watch 找不到类— 先用sc -d 类名确认完整类路径容器重启后失效— Arthas 是内存级增强重启后重新执行即可安全提醒Arthas 功能强大绝对不要在生产环境使用仅限开发/测试环境六、速查卡片# 安装 docker cp ./arthas/ 容器名:/opt/arthas/ docker exec -it 容器名 bash cd /opt/arthas java -jar arthas-boot.jar 调试 watch 类名 方法名 {params, returnObj} -x 2 退出 quit 或 stop
Arthas Docker 安装部署手册
一、离线安装推荐步骤 1本地解压unzip arthas.zip -d ./arthas/步骤 2复制到容器docker cp ./arthas/ 容器名:/opt/arthas/步骤 3进入容器docker exec -it 容器名 bash # 若容器没有 bash用 sh docker exec -it 容器名 sh步骤 4启动 Arthascd /opt/arthas java -jar arthas-boot.jar启动后会列出所有 Java 进程输入序号选择目标进程即可。二、容器内直接下载需网络docker exec -it 容器名 bash cd /tmp wget https://arthas.aliyun.com/download/latest_version?mirroraliyun -O arthas.zip unzip arthas.zip -d /opt/arthas/ rm arthas.zip cd /opt/arthas java -jar arthas-boot.jar三、Dockerfile 预装测试环境FROM openjdk:8-jdk-alpine RUN apk add --no-cache wget unzip RUN wget https://arthas.aliyun.com/download/latest_version?mirroraliyun -O /tmp/arthas.zip \ unzip /tmp/arthas.zip -d /opt/arthas \ rm /tmp/arthas.zip COPY your-app.jar /app/app.jar CMD [java, -jar, /app/app.jar]四、常用调试命令观察接口参数和返回值watch com.example.YourController yourMethod {params, returnObj} -x 2params— 方法入参列表returnObj— 方法返回对象-x 2— 展开对象深度 2 层过滤特定请求watch com.example.YourController yourMethod {params, returnObj} params[0].id 100观察慢请求watch com.example.YourController yourMethod {params, returnObj, cost} #cost 100退出 Arthasquit— 退出控制台不清理增强stop— 完全停止 Arthas清除所有增强五、常见问题java: command not found— 容器无 JDK换用 openjdk:8-jdk 镜像tools.jar not found— 用了 JRE 而非 JDK换用完整 JDK 镜像找不到 unzip— 基础镜像过于精简用方式一离线包 docker cpattach 权限不足—docker exec -it -u root 容器 bash以 root 进入watch 找不到类— 先用sc -d 类名确认完整类路径容器重启后失效— Arthas 是内存级增强重启后重新执行即可安全提醒Arthas 功能强大绝对不要在生产环境使用仅限开发/测试环境六、速查卡片# 安装 docker cp ./arthas/ 容器名:/opt/arthas/ docker exec -it 容器名 bash cd /opt/arthas java -jar arthas-boot.jar 调试 watch 类名 方法名 {params, returnObj} -x 2 退出 quit 或 stop