我有一个在Glassfish上运行的Java EE应用程序,并且我有一个使用Docker和Docker Compose在容器中运行的Glassfish。
我想知道是否有可能像从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
答案 0 :(得分:1)
在docker上运行glassfish服务器就像在远程服务器上运行它一样,因此您必须设置远程调试。
您不确定:
a)您的Glassfish服务器正在调试模式下运行 b)您已经在docker上配置了端口9009,以便调试器可以连接到它(您需要在docker-compose.yml中有这样的行:-9009:9009)
然后,您必须配置调试器以连接到localhost:9009
最后,如果您将dockerfile共享给docker-compose.yml,将更容易理解出了什么问题。