File Can';t使用Docker在tomcat上运行webapplication
我正在尝试在浏览器上显示我为学校项目创建的Web应用程序。 首先,我将Dockerfile和.war文件放在同一个文件夹File Can';t使用Docker在tomcat上运行webapplication,file,tomcat,web-applications,docker,war,File,Tomcat,Web Applications,Docker,War,我正在尝试在浏览器上显示我为学校项目创建的Web应用程序。 首先,我将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 -r
/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/
最后,我在shell上运行:
docker run --rm -it -p 8080:8080 myName
现在,一切正常,没有显示任何错误,但是当我想从我的浏览器访问localhost:8080
时,任何东西都会显示出来,尽管如此,tomcat已经开始运行得非常好
对我看不到的可能出现的问题有什么想法吗?
谢谢大家! 这就是你的整个Dockerfile 因为您只需删除所有根目录内容(步骤3) 然后将war文件与应用程序一起复制(步骤#4)-可能是问题中的错误文件夹(应该是/usr/local/tomcat/webapps/) 但是我没有看到任何端点或开始前台应用程序 我想你需要补充:
CMD ["/usr/local/tomcat/bin/catalina.sh", "run"]
用那只雄猫跑吧。暴露
端口是一种常规操作,但是当您使用-p
时,docker会隐式地暴露
因此,您的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"]
#拉基本图像
来自tomcat:7-jre7
#维护者
维护者“xyz您提到了war文件,但您将hello.py文件复制到了容器中。是否要部署war文件?docker logs myName
将向您显示容器输出,可能会在其中转储错误是的,hello.py只是一个测试。我编辑了这个问题@STLMikey我现在会试试,然后在这里发布输出。谢谢你的回答!然而,一切似乎都没有改变。localhost:8080中的同一空白页是空白页还是找不到页?您的war应用程序中有任何上下文吗?如果是,您需要使用localhost:8080/context,您可以测试:localhost:8080/file
-文件名应为context。或用于测试的丑陋解决方案复制file.war/usr/local/tomcat/webapps/ROOT.war
并检查localhost:8080
# 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"]