猿问

如何调试使用 Docker Compose 运行的 Glassfish 应用程序

我有一个在 Glassfish 上运行的 Java EE 应用程序,我让 Glassfish 在一个容器中运行,使用 Docker 和 Docker Compose。


我想知道是否可以调试在 Glassfish 容器上运行的此应用程序,就像您从 Intellij IDEA 调试常规 Java 应用程序一样。


我已经尝试过这样的事情,但它对我没有用。


我的docker-compose.yml包括(删除其他私人信息):


services:

  glassfish:

    tty: true

    build: glassfish

    ports:

    - "8080:8080"

    - "4848:4848"

    - "80:80"

    - "9009:9009"

Dockerfile包括(删除其他不相关的信息):


EXPOSE 8080 4848 80 9009


COPY 010_entrypoint.sh /docker-entrypoint.d/


ENTRYPOINT /docker-entrypoint.d/010_entrypoint.sh

在010_entrypoint.sh文件中(删除其他不相关的信息):


/opt/glassfish4/glassfish/bin/asadmin start-domain --debug


MMMHUHU
浏览 120回答 1
1回答

湖上湖

在 docker 上运行 glassfish 服务器就像在远程服务器上运行它一样,因此您必须设置远程调试。你不必确保:a) 您的 Glassfish 服务器正在调试模式下运行 b) 您已在 docker 上配置了端口 9009,以便调试器可以连接到它(您需要在 docker-compose.yml 中有这样一行:- 9009:9009)然后你必须配置你的调试器连接到 localhost:9009最后,如果您将 Dockerfile 共享为 docker-compose.yml,则更容易理解出了什么问题。
随时随地看视频慕课网APP

相关分类

Java
我要回答