整体流程

步骤 说明
步骤一 安装 Docker
步骤二 构建 Docker 镜像
步骤三 运行 Docker 容器
步骤四 进入 Docker 容器
步骤五 安装 Arthas
步骤六 使用 Arthas 进行调试

步骤一:安装 Docker

Docker 是一种容器化技术,可以方便地打包和运行应用程序。在开始使用 Arthas Docker 之前,首先需要安装 Docker。

步骤二:构建 Docker 镜像

构建 Docker 镜像是为了在容器中运行 Arthas。

  1. 在项目根目录下创建一个名为 Dockerfile 的文件。
  2. Dockerfile 中写入以下内容:
FROM openjdk:8-jdk-alpine
WORKDIR /app
COPY target/demo.jar /app/demo.jar
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "demo.jar"]

上述代码中,我们使用了一个基于 OpenJDK 8 的 Alpine Linux 镜像,将项目的 JAR 文件复制到容器的 /app 目录下,并且映射了容器的 8080 端口。

步骤三:运行 Docker 容器

  1. 打开终端,进入项目根目录。
  2. 使用以下命令构建 Docker 镜像:
docker build -t demo .

上述命令中,-t 参数用于指定镜像的名称,. 表示使用当前目录下的 Dockerfile

  1. 使用以下命令运行 Docker 容器:
docker run -p 8080:8080 demo

上述命令中,-p 参数用于将主机的 8080 端口映射到容器的 8080 端口,demo 是镜像的名称。

步骤四:进入 Docker 容器

为了在容器中安装 Arthas,我们需要进入容器。

  1. 打开另一个终端,运行以下命令查看正在运行的容器:
docker ps

上述命令将显示正在运行的容器的信息,包括容器的 ID。

  1. 运行以下命令进入容器:
docker exec -it <CONTAINER_ID> sh

上述命令中,<CONTAINER_ID> 是步骤一中显示的容器的 ID。

步骤五:安装 Arthas

  1. 在容器中运行以下命令下载 Arthas 安装包:
wget 
  1. 运行以下命令启动 Arthas:
java -jar arthas-boot.jar

步骤六:使用 Arthas 进行调试

现在你已经成功安装了 Arthas,可以使用它进行调试了。

  1. 运行以下命令列出正在运行的 Java 进程:
dashboard
  1. 选择要调试的 Java 进程,输入对应的数字,按回车键进行选择。

  2. 使用以下命令查看类的加载情况:

sc -d com.example.DemoController

上述命令中,com.example.DemoController 是待查看的类的全限定名。

  1. 使用以下命令进行方法追踪:
trace com.example.DemoController hello

上述命令中,com.example.DemoController 是类的全限定名,hello 是方法的名称。

  1. 使用 Arthas 进行更多的调试操作,如监控方法的入参和返回值、修改方法的返回值等。

类图

classDiagram
    class Docker
    class Arthas
    class Developer
    class DemoController
    Docker *-- Arthas
    Developer *-- Docker
    Developer *-- Arthas
    Arthas *-- DemoController

以上是实现 "arthas docker" 的整个流程和步骤,希望对你有所