idea在docker环境,调试spring boot程序


允许docker被远程访问

见:https://www.cnblogs.com/wintersoft/p/10921396.html

教程见:https://spring.io/guides/gs/spring-boot-docker/#initial


spring boot启动类加上

@RestController

@RequestMapping("/")
public String home() {
    return "Hello Docker!";
}

 

点击idea右上的Edit Confgurations -> + -> Docker -> Dockerfile,配置如图

 

点击idea右上的Edit Confgurations -> + -> Remote

修改Name:xxxx Host:192.168.1.102 Port:45005 值根据自己的情况来

这时命令行参数变为:-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=45005

 

生成jar包

mvn clean package

 

项目根目录创建Dockerfile

FROM openjdk:8-jdk-alpine
#WORKDIR /
VOLUME /tmp
EXPOSE 58080 5005
COPY /target/*.?ar /app/
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005","/app/docker-demo1-1.0.0.jar"]

 

项目根目录创建docker-compose.yml 此步可以省略

version: '3.4'
services:
  dockerweb:
    image: dockerdemox1:latest
    container_name: dockerdemox1
    restart: always
    build:
      context: .
      dockerfile: Dockerfile
    volumes:
      - ./target:/app
    ports:
      - "48180:58080"

 

若没有-Djava.security.egd=file:/dev/./urandom参数时,解决tomcat启动慢的办法

https://www.cnblogs.com/wintersoft/p/10942845.html

 

idea上通过docker启动,自动生成镜像和容器

再通过idea的remote启动就可以调试了。

 

在程序上打好端点,浏览器输入192.168.1.102:48080


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM