Java 如何访问已部署war的webapp部署文件夹,docker
我有一个docker容器,它扩展自tomcat:7.0.75-jre8 它下载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
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
、重新压缩和部署。。。那就一切都好了