intellij使用docker来调试

本文介绍了如何在IntelliJ IDEA Ultimate Edition中配置Docker,创建Spring Boot项目,编写Dockerfile,并进行远程调试。首先确保安装了Docker插件,配置Docker信息,然后创建项目并编写Dockerfile。接下来,设置远程调试配置,指定调试端口10002。在调试过程中,如果遇到端口占用或未开启远程调试端口的错误,需要检查JVM参数及容器状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景

intellij idea作为java开发常用的ide,结合当前主流的虚拟化docker发布,如何结合两者进行调试开发是一个基本使用场景

环境配置

  • macOS mojave
  • Docker Desktop for mac
  • IntelliJ IDEA 2019.1.2 (Ultimate Edition)

执行步骤

1. 确认安装docker插件

默认是安装,查看方式 设置-插件-查询docker intergration关键字
pic

2. 配置docker信息

通过设置-编译-docker配置,创建一个“docker mac“运行器,选择docker deamon是本机的docker for mac,然后会看到底下显示着”connection successful“
pic

3. 创建一个项目spring boot

具体参考 官网介绍

4. 创建docker file

在项目目录下创建docker file,我在main/docker/创建dockerfile文件,并输入如下内容

FROM openjdk:8
VOLUME /tmp
ADD dockerci-0.0.1-SNAPSHOT.jar app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=10002","-jar","/app.jar"]

注意这里面加入了-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=10002 其中这是用于远程调试使用的,让其远程程序需要支持调试的jvm参数配置。

接着执行“左边的绿色三角形”执行,运行容器,查看到容器运行正常

5. 创建远程调试

创建运行配置项,增加remote调试,需要配置10002,这个是调试端口
pic

  1. 选择remote来创建调试
  2. 选择端口为10002
  3. 选择模块是你创建的项目,这里我是dockerci
  4. 在启动前,选择拉起docker
    保存应用

6. 调试

  1. 设置好断点
  2. 启动调试
    pic

错误

  1. Error running 'remote_debug': Unable to open debugger port (localhost:10002): java.io.IOException "handshake failed - connection prematurally closed"

这是因为容器跑起来没有拉起远程调试端口10002,检查jvm拉起参数是否配置了 -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=10002

  1. 端口已经占用

检查容器是否已经启动了,或者服务跑起来,检查端口占用程序。

参考文献

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值