当前位置: 代码网 > it编程>编程语言>Java > idea调试远程docker中的springboot项目指南

idea调试远程docker中的springboot项目指南

2026年07月31日 Java 我要评论
开发环境idea-2023(放心,旧版本也可以远程调试)java版本:17生产环境docker版本:23.0.3java版本1:openjdk:17.0.2(基于java17的项目)java版本2:a

开发环境

  • idea-2023(放心,旧版本也可以远程调试)
  • java版本:17

生产环境

  • docker版本:23.0.3
  • java版本1:openjdk:17.0.2(基于java17的项目)
  • java版本2:adoptopenjdk:8-jdk-openj9(基于java8的项目)

docker配置

java8项目的docker配置

dockerfile

from adoptopenjdk:8-jdk-openj9
run mkdir -p /opt/projects/admin-api
run mkdir -p /var/lib/docker/containers/admin-api/
workdir /opt/projects/admin-api
copy ./admin-api.jar ./
#expose 2000
# 启动服务
env java_opts="-server -xms1024m -xmx1024m -xss256k -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=10002"
cmd java ${java_opts} -djava.security.egd=file:/prod/./urandom -jar admin-api.jar --spring.profiles.active=prod

在jar启动命令中加入jvm参数:

-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=10002

作用:启动时支持远程调试,监听10002端口,请确保该端口已被防火墙放行,阿里云服务器的安全策略中也要放行。

docker-compose.yml

  admin-api:
    build:
      context: admin-api
    container_name: admin-api
    environment:
      - tz=asia/shanghai
      - java_opts=-server -xms1024m -xmx1024m -xss256k -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=10002
    hostname: admin-api
    image: admin-api
    networks:
      mall4j-network:
        ipv4_address: 192.168.159.9
    ports:
      - "8112:8112"
      - "10002:10002"
    restart: always
    volumes:
      - ./cert:/cert
      - ./admin-api/log:/opt/projects/admin-api/log

你会发现,dockerfile和docker-compose.yml中都有远程调试配置,实际上,docker-compose.yml会覆盖dockerfile。

java17项目的docker配置

把  from adoptopenjdk:8-jdk-openj9   替换成   from openjdk:17.0.2

把   

-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=10002  

替换成:

-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:10002

开始调试

第一步:新建 远程jvm调试,旧版本idea新建remote.

          

第二步:配置调试参数

第三步:启动调试

 

到此结束。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com