Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
File Can';t使用Docker在tomcat上运行webapplication_File_Tomcat_Web Applications_Docker_War - Fatal编程技术网

File Can';t使用Docker在tomcat上运行webapplication

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

我正在尝试在浏览器上显示我为学校项目创建的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 -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"]