在docker contaier中,启动tomcat后,不会在webapps中创建WAR文件文件夹

在docker contaier中,启动tomcat后,不会在webapps中创建WAR文件文件夹,docker,dockerfile,war,Docker,Dockerfile,War,当我们在webapps中运行tomcat时,会创建war文件的文件夹,就像在运行tomcat之后在webapps中创建name.war文件一样 但当docker使用dockerfile部署war文件时,在docker容器中有tomcat文件夹,在webapps中有war文件,在运行dockerfile后,tomcat get start应用程序也在运行,但在webapp的文件夹中没有创建war文件。 就像我在docker容器中的webapps中有name.war一样,但在运行tomcat之后,w

当我们在webapps中运行tomcat时,会创建war文件的文件夹,就像在运行tomcat之后在webapps中创建name.war文件一样

但当docker使用dockerfile部署war文件时,在docker容器中有tomcat文件夹,在webapps中有war文件,在运行dockerfile后,tomcat get start应用程序也在运行,但在webapp的文件夹中没有创建war文件。 就像我在docker容器中的webapps中有name.war一样,但在运行tomcat之后,webapps中没有name文件夹

因此,如果我们需要对war文件中的jsp进行一些小的更改,那么我们需要对war文件进行整个部署,比如停止容器构建dockerfile运行dockerfile等。因此,如果我们在webapps中有war文件的文件夹,那么我们可以轻松地更改jsp或js。 那么,在docker容器中运行tomcat之后,我们如何获得warfile文件夹呢

要生成Dockerfile,请执行以下操作:

docker build -t tomcat . 
docker run -p 8080:8080 tomcat
tomcat是图像的名称

要运行Dockerfile,请执行以下操作:

docker build -t tomcat . 
docker run -p 8080:8080 tomcat
我的Dockerfile是:

FROM openjdk:7-jre

MAINTAINER shri

ENV CATALINA_HOME /usr/local/tomcat

ENV PATH $CATALINA_HOME/bin:$PATH

COPY tomcat $CATALINA_HOME

ADD  newui.war  $CATALINA_HOME/webapps

CMD $CATALINA_HOME/bin/startup.sh && tail -F $CATALINA_HOME/logs/catalina.out

EXPOSE 8080

通过在主机上装载包含war的文件夹,可以将war从主机提供给容器

docker run -v /.../tomcat:/usr/local/tomcat -p 8080:8080 --name tomcat tomcat
其中,
/…/tomcat
是指向尚不存在的tomcat文件夹的路径。现在,只要有一个新的war文件,就将它复制到
/…/tomcat
目录,然后重新启动容器

docker restart tomcat

请注意,无需重建容器

有什么不寻常的tomcat配置吗?没有。。。甚至日志也不会显示在docker容器中tomcat的日志文件夹中,因此我通过docker run \-d \-p 8085:8085 \-v/usr/local/tomcat/logs:/usr/local/tomcat/logs\tomcat或docker run \-d \-v/usr/local/tomcat/logs:/usr/local/tomcat/logs\tomcatok谢谢。。但我的问题是,在运行tomcat之后,如何获取docker容器中tomcats webapps文件夹中未显示的war文件文件夹,以及如何在webapps中获取该war文件文件夹