有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

在web浏览器中看不到Java Maven Tomcatplugin web应用程序

我想在docker容器中构建并运行我的JavaMaven web应用程序。我尝试使用以下命令:

 docker run -it --name my_project -v "$PWD":/usr/src/my_project -w /usr/src/my_project maven:3.5.0-jdk-8 mvn clean install tomcat7:run

它正确地复制资源,运行maven clean安装(成功构建),并使用我的pom中包含的tomcat7 maven插件运行。xml

一切正常,日志与在我的windows计算机上本地生成和运行的日志非常相似:

Run info

不幸的是,在web浏览器上有信息“连接被拒绝”

可能导致问题的原因是什么 -我的应用程序特定于windows,无法在linux上运行? -应用程序已完全应用并正在运行,但代理配置或端口未配置有问题

如何进一步调查日志?是否尝试在windows docker容器上构建

另外,我使用适用于windows docker的Kitematic应用程序检查容器的IP


共 (1) 个答案

  1. # 1 楼答案

    可能有三个问题。一旦您使用了-w而不是-v

     docker run -it  name my_project -v "$PWD":/usr/src/my_project -w /usr/src/my_project maven:3.5.0-jdk-8 mvn clean install tomcat7:run
    

    我认为这是一个错误,而张贴。接下来,您没有在计算机上发布端口

     docker run -p 9998:9998 -it  name my_project -v "$PWD":/usr/src/my_project -w /usr/src/my_project maven:3.5.0-jdk-8 mvn clean install tomcat7:run
    

    这将把容器中的端口9998(右侧)映射到本地主机上的端口9998

    第三个也是最后一个,您的信息日志显示正在收听。这不好。因为这意味着您的war只监听容器内部生成的流量,而不监听容器外部生成的流量。您需要配置war,使其侦听容器内的所有接口,并且绑定应为0.0.0.0:9998