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