欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 手游 > docker远程debug

docker远程debug

2025/3/31 20:11:59 来源:https://blog.csdn.net/xixingzhe2/article/details/146485468  浏览:    关键词:docker远程debug

1. 修改 Java 启动命令

在 Docker 容器中启动 Java 程序时,需要添加 JVM 调试参数,jdk8以上版本

java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005 -jar your-app.jar

jdk8及以下版本:

java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 -jar your-app.jar

说明

  • transport=dt_socket:指定调试传输方式为套接字(Socket)。

  • server=y:表示当前 Java 应用程序作为调试服务器,允许远程调试客户端连接。

  • suspend=n:表示 Java 应用程序不会在启动时暂停等待调试器连接,而是直接启动运行。如果设置为 suspend=y,则程序会在启动时暂停,直到调试器连接后才会继续运行。

  • address=*:5005:指定调试端口为 5005* 表示允许任何 IP 地址连接到该端口(如果仅允许本地,用 address=5005)。

2. 修改 Dockerfile 或 docker-compose.yml

Dockerfile 示例:
FROM openjdk:11
COPY your-app.jar /app/
EXPOSE 5005
CMD ["java", "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005", "-jar", "/app/your-app.jar"]
docker-compose.yml 示例:
version: '3.8'
services:my-java-app:image: openjdk:11  # 或 adoptopenjdk/openjdk11:alpineports:- "8080:8080"    # 应用端口- "5005:5005"    # 调试端口volumes:- ./app.jar:/app/app.jar  # 挂载 jar 包command: java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005 -jar /app/app.jar

3. 构建并运行容器

docker build -t your-app .
docker run -p 8080:8080 -p 5005:5005 your-app

4、配置开发工具

IntelliJ IDEA

  1. 点击 "Run" → "Edit Configurations"

  2. 添加 "Remote JVM Debug" 配置

  3. 设置主机为 localhost,端口为 5005

  4. 点击调试按钮

运行-编辑配置

新增远程jvm调试

配置远程主机信息

参考文章:

Java远程调试指南-CSDN博客

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词