Jac*_*son 5 java tomcat war docker
我正在使用 docker 部署一个运行第三方war文件的 tomcat 容器。
我Dockerfile看起来像这样
FROM tomcat:7-jre8
ADD my.war ${CATALINA_HOME}/webapps/my.war
Run Code Online (Sandbox Code Playgroud)
当我运行容器时,tomcat 会war在运行时扩展我的容器,我可以很高兴地在http://my.ip.addr:8080/mywar/.
但是我的问题是我想编辑war. 我真的不想解压缩并重新打包war文件,因为这看起来很混乱且难以维护。
我希望能够告诉 tomcat 将其扩展war为我的RUN步骤的一部分,然后用于ADD放入我的自定义文件,但我似乎找不到这样做的方法。战争只会在CMD执行时扩展,然后我无法编辑文件。
我不确定您将如何使用 docker 或其他任何东西来实现它,因为我无论如何都看不到要求 tomcat 在战争实际开始之前扩大战争。但是按照标准做法,引爆战争并调整内容并不是一个好主意。它扼杀了发动战争的全部目的。
相反,您应该更改应用程序以从 << TOMCAT_HOME >>/conf 读取配置。
如果您实现了这一点,您唯一需要告诉 Docker 的是将您的配置文件添加到容器 tomcat conf 文件夹中。
或者,如果您必须篡改 war 文件,您可以这样做:在构建机器上手动(或通过脚本)分解 war,而不是直接将 war 添加到 docker 映像,而是映射文件夹。像这样的东西
添加 ./target/app-0.1.0.BUILD-SNAPSHOT /var/lib/jetty/webapps/ROOT。
然后手动将所有文件添加到所需的目的地。
添加 login.jsp /var/lib/jetty/webapps/ROOT/Webapps,依此类推。
| 归档时间: |
|
| 查看次数: |
6932 次 |
| 最近记录: |