我正在尝试调试应用程序https://github.com/sqshq/piggymetrics,该应用程序在通过docker compose运行时将在docker容器中运行,我正在尝试调试应用程序,我正在使用的IDE是intellij IDEA,以及docker在其中的环境正在运行ubuntu,我收到“无法打开调试器端口握手失败的消息”
只需按照https://github.com/sqshq/piggymetrics#before-you-start设置环境变量 在应用程序开始使用docker-compose -f docker-compose.yml -f docker-compose.dev.yml之后,只需转到localhost:8761(Eureka服务器)并打开与应用程序网关相邻的URL并删除/ actuator网址中的/ info,应用程序将以172.18.0.14(在我的系统上分配的IP)运行:4000
我调试应用程序的方法:- 我在createNewAccount方法AccountController.class和上的account-service中设置了断点,并且尝试从应用程序创建新帐户,希望能找到该方法,然后我将intellij配置为在运行Account-service的同一端口上侦听远程,几分钟后调试器开始在端口上侦听,但我收到“无法打开调试器端口握手失败”的提示,并且调试点未击中
我什至尝试在https://blog.docker.com/2017/05/spring-boot-development-docker/这样的不同端口上配置调试器,但仍然不走运
用于帐户服务的Docker文件如下所示
FROM java:8-jre
MAINTAINER Alexander Lukyanchikov <sqshq@sqshq.com>
ADD ./target/account-service.jar /app/
ENTRYPOINT ["java", "-Xdebug -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=6000","-Xmx200m", "-jar", "/app/account-service.jar"]
ENV JPDA_ADDRESS="6000"
ENV JPDA_TRANSPORT="dt_socket"
EXPOSE 6000