无法使用Docker在tomcat上运行web应用程序

我试图在浏览器上显示我为学校项目创build的webapp。 首先,我把Dockerfile和我的.war文件放在同一个文件夹/home/giorgio/Documenti/dockerProject 。 我已经在我的Dockerfile中写入了以下内容:

 # Pull base image From tomcat:7-jre7 # Maintainer MAINTAINER "xyz <xyz@email.com"> # Copy to images tomcat path RUN rm -rf /usr/local/tomcat/webapps/ROOT COPY file.war /home/giorgio/Documenti/apache-tomcat-7.0.72/webapps/ 

然后,我使用ubuntu shell的命令创build了映像:

 docker build -t myName /home/giorgio/Documenti/dockerProjects 

最后,我在shell上运行:

 docker run --rm -it -p 8080:8080 myName 

现在,一切工作正常,它并没有显示任何错误,但是当我想从我的浏览器达到localhost:8080东西显示,但tomcat已经开始运行非常好。

任何关于我看不到的可能性问题的想法? 谢谢!

这是你的整个Dockerfile?

因为您只需删除所有ROOT内容(步骤#3)

然后复制与您的应用程序的战争文件(步骤#4) – 可能是错误的文件夹中的问题( 应该是/ usr / local / tomcat / webapps /

我没有看到任何端点或启动前台应用程序。

我想你需要添加:

 CMD ["/usr/local/tomcat/bin/catalina.sh", "run"] 

和刚刚运行的tomcat。 它是EXPOSE端口的例程,但是当您使用-p EXPOSE时,会执行隐式公开。

所以你的Dockerfile应该如下所示:

 # Pull base image From tomcat:7-jre7 # Maintainer MAINTAINER "xyz <xyz@email.com"> # Copy to images tomcat RUN rm -rf /usr/local/tomcat/webapps/ROOT # fixed path for copying COPY file.war /usr/local/tomcat/webapps/ # Routine for me - optional for your case EXPOSE 8080 # And run tomcat CMD ["/usr/local/tomcat/bin/catalina.sh", "run"]