Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.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
Java 如何访问已部署war的webapp部署文件夹,docker_Java_Tomcat_Docker_Geoserver - Fatal编程技术网

Java 如何访问已部署war的webapp部署文件夹,docker

Java 如何访问已部署war的webapp部署文件夹,docker,java,tomcat,docker,geoserver,Java,Tomcat,Docker,Geoserver,我有一个docker容器,它扩展自tomcat:7.0.75-jre8 它下载geoserver2.10.2war,并部署到tomcat。一切都很好。。。然而。。。我需要访问tomcat的webapps文件夹中的deploy文件夹,以便添加扩展,如mysql db插件、oracle db插件、oracle jdbc驱动程序等。这需要在我的dockerfile中自动完成。这是很好的集装箱码头式建造。。。但对于Tomcat,这是另一回事 简而言之,我需要访问WEB-INF 当我构建时,我假设weba

我有一个docker容器,它扩展自tomcat:7.0.75-jre8

它下载
geoserver2.10.2war
,并部署到
tomcat
。一切都很好。。。然而。。。我需要访问tomcat的webapps文件夹中的deploy文件夹,以便添加扩展,如mysql db插件、oracle db插件、oracle jdbc驱动程序等。这需要在我的dockerfile中自动完成。这是很好的集装箱码头式建造。。。但对于Tomcat,这是另一回事

简而言之,我需要访问
WEB-INF

当我构建时,我假设webapps文件夹将不会被创建,直到我运行的最后一行
catalina.sh
被执行,对吗?即:

EXPOSE 8080
CMD ["catalina.sh", "run"]
我尝试运行,然后将
/bin/bash
炮击到图像中,但webapp文件夹不存在。我一定错过了一些简单的东西

是否有办法强制tomcat生成DeployWebApp文件夹,以便我可以访问
WEB-INF

Edit2:部署前修补战争可能是一个解决方案。


也就是说,只需解压缩
war
文件(您可以重命名为zip,因为它实际上是一个zip文件)。然后将我需要的所有修改ie、jar插件文件放入
/WEB-INF/lib
。然后重新压缩,重命名为.war扩展名并按正常方式部署。

您的意思是说需要复制外部jar文件?是的,我需要复制jar文件。实际上,我已经意识到我可以简单地自动化重命名
war
zip
、解压缩、进行修改的步骤,例如跨JAR复制到
/WEB-INF/libs
、重新压缩和部署。。。那就一切都好了