在容器外访问 Tomcat 调试端口

Access Tomcat debug port outside container

我在 tomcat 服务器上有一个容器 运行ning java 后端。我想配置它,以便我可以附加我的 eclipse 来调试我的代码。 有很多文档,但有这么多不同和矛盾的答案,我找不到办法。

这是我当前的配置:

Docker 文件:

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

我应该添加什么以使我的应用程序可以进行远程调试?

我找到的解决方案是: 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 有关,但我无法让它工作。