如何调试 Glassfish 应用程序 运行 Docker Compose
How to debug a Glassfish application running with Docker Compose
我在 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
运行 docker 上的 glassfish 服务器就像 运行 它在远程服务器上,因此您必须设置远程调试。
你还没有确定:
a) 您的 Glassfish 服务器 运行 处于调试模式
b) 您已经在 docker 上配置了端口 9009,因此调试器可以连接到它(您需要在 docker-compose.yml 中有这样一行:- 9009:9009 )
然后您必须配置调试器以连接到 localhost:9009
最后,如果您分享您的 Dockerfile 一个 docker-compose.yml,将会更容易理解问题所在。
我在 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
运行 docker 上的 glassfish 服务器就像 运行 它在远程服务器上,因此您必须设置远程调试。
你还没有确定:
a) 您的 Glassfish 服务器 运行 处于调试模式 b) 您已经在 docker 上配置了端口 9009,因此调试器可以连接到它(您需要在 docker-compose.yml 中有这样一行:- 9009:9009 )
然后您必须配置调试器以连接到 localhost:9009
最后,如果您分享您的 Dockerfile 一个 docker-compose.yml,将会更容易理解问题所在。