1 回答
TA贡献1712条经验 获得超3个赞
您可以使用以下 JVM-Argument 启用远程调试
-agentlib:jdwp=transport=dt_socket,server=y,address=8000,suspend=n
然后你可以附加 Intellij 调试器Run->Attach to process 你的应用程序应该有指定的端口(在这种情况下是 8000)
请参阅此处了解更多信息
对于此示例(Docker-Compose with Wildfly)
environment:
...
JAVA_OPTS: -agentlib:jdwp=transport=dt_socket,server=y,address=8000,suspend=n
...
ports:
- "8000:8000"
...
一般来说
码头工人
要在 Docker 中使用,您还必须公开端口
EXPOSE 8000
ENTRYPOINT ["java", "-jar", "-agentlib:jdwp=transport=dt_socket,server=y,address=8000,suspend=n", "/path/to/my/java.jar"]
进而
docker run -p 8000:8000 <image>
IntelliJ(从 2019.1 开始)
这个过程现在可以由 IntelliJ 自动完成 https://blog.jetbrains.com/idea/2019/04/debug-your-java-applications-in-docker-using-intellij-idea/
添加回答
举报