访问容器外部的tomcat调试端口

pxy2qtax  于 2021-10-10  发布在  Java
关注(0)|答案(1)|浏览(302)

我有一个在tomcat服务器上运行java后端的容器。我想对其进行配置,以便可以附加eclipse来调试代码。有很多文档,但有这么多不同和矛盾的答案,我找不到一个方法来做到这一点。
以下是我当前的配置:
dockerfile:

From tomcat:9.0-jdk8-openjdk

ADD ./application.war /usr/local/tomcat/webapps/
ADD tomcat-users.xml /usr/local/tomcat/conf/tomcat-users.xml
ADD server.xml /usr/local/tomcat/conf/server.xml
EXPOSE 9090
CMD ["catalina.sh","run"]

以及运行docker的命令: docker run -d -p 9090:8080 myApp 我应该添加什么使我的应用程序可以被远程调试访问?

3vpjnl9f

3vpjnl9f1#

我找到的解决方案是:dockerfile

From tomcat:9.0-jdk8-openjdk

ADD ./application.war /usr/local/tomcat/webapps/
ADD tomcat-users.xml /usr/local/tomcat/conf/tomcat-users.xml
ADD server.xml /usr/local/tomcat/conf/server.xml
EXPOSE 9090
EXPOSE 9000
ENV JPDA_ADDRESS=8000
ENV JPDA_TRANSPORT=dt_socket

CMD ["catalina.sh", "jpda", "run"]

然后: docker run -d -p 9090:8080 -p 9000:8000 myApp 在建立形象之后。
警告:这使得应用程序只能从docker运行的服务器(中)进行调试 localhost:9000 在那个例子中)!我读到有点关系 *:JPDA_ADDRESS 但我不能让它工作。

相关问题