求助:IntelliJ IDEA 2023新版本中调试Docker容器的方法
IntelliJ IDEA 2023 调试Docker容器中Spring Boot微服务的解决方案
方法一:用IDEA内置Docker工具直接调试(推荐)
- 先确认IDEA已配置好Docker连接:打开
Settings -> Build, Execution, Deployment -> Docker,配置本地Docker daemon(默认一般自动识别)或远程Docker连接 - 新建Run/Debug配置:
- 点击右上角运行按钮旁的下拉框,选择
Edit Configurations - 点击
+号,选择Docker -> Dockerfile或Docker -> Docker Compose(根据你的部署方式选择) - 配置镜像构建信息:指定Dockerfile/docker-compose.yml路径,设置镜像标签、容器名称
- 切换到
Debug标签页,勾选Enable debug,IDEA会自动为容器启动命令添加JVM调试参数 - 在
Port bindings中添加端口映射:将容器的5005端口映射到宿主机5005端口(格式为5005:5005) - 保存配置后点击调试按钮启动容器,IDEA会自动连接调试端口,直接设置断点即可开始调试
- 点击右上角运行按钮旁的下拉框,选择
方法二:手动添加调试参数+远程调试
- 修改Docker构建文件:
- Dockerfile示例(修改启动命令,添加JVM调试参数):
FROM openjdk:17-jdk-slim COPY target/your-service.jar app.jar CMD ["java", "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005", "-jar", "/app.jar"] - Docker Compose示例(添加端口映射和调试命令):
services: your-service: build: . ports: - "8080:8080" - "5005:5005" command: ["java", "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005", "-jar", "/app.jar"]
- Dockerfile示例(修改启动命令,添加JVM调试参数):
- 构建并启动Docker容器
- 在IDEA中创建远程调试配置:
- 点击右上角运行按钮旁的下拉框,选择
Edit Configurations - 点击
+号,选择Remote JVM Debug - 填写配置信息:自定义名称,Host填
localhost(本地Docker)或远程主机IP,Port填5005,Transport选择Socket - 保存配置后启动调试,即可连接到容器内的JVM进行断点调试
- 点击右上角运行按钮旁的下拉框,选择
要点提醒
- 确保宿主机与容器的5005端口映射正确,防火墙未拦截该端口
- 若需要容器启动时暂停等待调试连接,将参数中的
suspend=n改为suspend=y - 所用JDK版本需为Java 5及以上,该调试参数均支持
内容的提问来源于stack exchange,提问作者Andrey
相关产品推荐
相关产品推荐

