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

posted @ 2019-05-29 15:40  wintersoft  阅读(2833)  评论(0编辑  收藏  举报