【问题标题】:How to debug a Glassfish application running with Docker Compose如何调试使用 Docker Compose 运行的 Glassfish 应用程序
【发布时间】:2019-06-17 23:48:14
【问题描述】:

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

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

我尝试了like this,但对我没有用。

我的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

【问题讨论】:

    标签: java docker intellij-idea docker-compose glassfish


    【解决方案1】:

    在 docker 上运行 glassfish 服务器就像在远程服务器上运行它一样,因此您必须设置远程调试。

    你不能确定:

    a) 您的 Glassfish 服务器正在调试模式下运行 b) 您已经在 docker 上配置了端口 9009,以便调试器可以连接到它(您需要在 docker-compose.yml 中有这样一行:- 9009:9009)

    然后你必须配置你的调试器连接到 localhost:9009

    最后,如果您将 Dockerfile 共享为 docker-compose.yml,则更容易理解发生了什么问题。

    【讨论】:

    • 我将编辑我的问题以包括我的 Dockerfiledocker-compose.yml 文件的相关部分(我必须隐藏任何私人信息,ofc)以供 SO 社区将来参考,但现在它正在工作!谢谢:D
    猜你喜欢
    • 2020-08-10
    • 1970-01-01
    • 2019-05-12
    • 2018-08-29
    • 2017-10-15
    • 1970-01-01
    • 2016-03-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多