【问题标题】:Configure remote debug using kotlin spring and docker使用 kotlin spring 和 docker 配置远程调试
【发布时间】:2020-09-08 02:36:47
【问题描述】:

您好,我在我的应用程序中配置调试时遇到问题,我使用 docker 和 kotlin 一起使用 spring boot,请按照我的配置文件:

Dockerfile

FROM  gradle:6.4-jdk14

RUN apt-get update && apt-get install -qq -y --no-install-recommends

ENV INSTALL_PATH /weblib

RUN mkdir -p $INSTALL_PATH

WORKDIR $INSTALL_PATH

COPY . .

RUN gradle clean && gradle bootJar

docker-compose.yml

version: "3.8"

services:
  weblibdb:
    image: "postgres:12.3"
    environment:
      - POSTGRES_DB=weblib
      - POSTGRES_USERNAME=postgres
      - POSTGRES_PASSWORD=postgres
    volumes:
      - postgres:/var/lib/postgresql/data
  weblibapi:
    build: .
    command: bash start.sh
    ports:
      - "8090:8090"
      - "5005:5005"
    environment:
      - POSTGRES_USERNAME=postgres
      - POSTGRES_PASSWORD=postgres
      - GRADLE_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=*:5005
    volumes:
      - .:/weblib
    depends_on:
      - weblibdb

volumes:
  postgres:

start.sh

gradle bootRun

我的容器工作正常,在 IDE 中创建的远程调试与容器连接但断点不起作用,请按照我的配置:

谢谢

【问题讨论】:

    标签: spring-boot kotlin gradle intellij-idea docker-compose


    【解决方案1】:

    我更改了我的配置和工作,按照我的更改:

    从 Dockerfile 中删除以下命令:

    RUN gradle clean && gradle bootJar
    

    将我的 start.sh 更改为:

    gradle clean
    gradle bootJar
    java -jar -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005 build/libs/weblib.jar
    

    我是一个 docker-compose.yml,我在环境 GRADLE_OPTS 中将 suspend=y 更改为 suspend=n,但它是可选的。

    【讨论】:

      猜你喜欢
      • 2011-08-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多