You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Windows环境下用IntelliJ IDEA远程调试Linux上的Docker容器?

Spring Boot Docker容器远程调试(Windows IDEA → Linux服务器)

完全可以实现,以下是具体操作步骤:

1. 修改Docker配置,开启远程调试端口

需要给Spring Boot应用添加JVM远程调试参数,确保容器内的JVM能接收外部调试请求:

  • Dockerfile方式:在启动命令中追加调试参数,示例:

    FROM openjdk:17-jdk-slim
    COPY target/your-app.jar app.jar
    ENTRYPOINT ["java", "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005", "-jar", "/app.jar"]
    

    参数说明:

    • transport=dt_socket:采用Socket传输调试数据
    • server=y:以服务器模式运行,等待调试客户端连接
    • suspend=n:应用启动时不阻塞,直接运行(若需要等待调试连接再启动,改为suspend=y)
    • address=*:5005:监听容器内所有IP的5005端口(必须写*,否则仅容器内localhost可访问)
  • Docker Compose方式:在服务配置中添加端口映射和启动参数,示例:

    version: '3.8'
    services:
      your-app:
        image: your-app-image:latest
        ports:
          - "8080:8080"
          - "5005:5005" # 将容器调试端口映射到服务器端口
        command: ["java", "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005", "-jar", "/app.jar"]
    

2. 开放Linux服务器的调试端口

确保服务器防火墙允许外部访问5005端口:

  • 若使用ufw防火墙:
    sudo ufw allow 5005/tcp
    sudo ufw reload
    
  • 若使用firewalld防火墙:
    sudo firewall-cmd --add-port=5005/tcp --permanent
    sudo firewall-cmd --reload
    

3. 配置IntelliJ IDEA远程调试会话

在Windows的IDEA中完成以下配置:

  1. 打开Run → Edit Configurations
  2. 点击左上角+号,选择Remote JVM Debug
  3. 填写配置信息:
    • Name:自定义名称(如Remote Docker Debug)
    • Host:Linux服务器的公网/内网IP地址
    • Port:5005(和容器映射的端口一致)
    • Transport:保持默认的Socket即可
  4. 点击Apply保存配置

4. 启动调试

  1. 确保Linux上的Docker容器已正常启动,可通过以下命令验证端口监听状态:
    netstat -tulpn | grep 5005
    
  2. 在IDEA中点击调试按钮(绿色虫子图标)启动远程调试会话
  3. 在代码中设置断点,触发对应业务逻辑(如调用接口),IDEA会自动命中断点,即可进行调试

注意事项

  • 容器内的JDK版本需与IDEA使用的JDK版本尽量一致,避免兼容性问题
  • 如果调试连接失败,检查服务器IP是否可达、端口是否映射正确、防火墙规则是否生效
  • 若需要容器启动时等待调试连接,将JVM参数中的suspend=n改为suspend=y

内容的提问来源于stack exchange,提问作者abdulsatar sayed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 17:03:13