在容器外访问 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
有关,但我无法让它工作。
我在 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
有关,但我无法让它工作。