docker - 如何部署几个war到root tomcat?

标签 docker tomcat path root

我需要在服务器上部署一些 war ,它 应该看起来像:

localhost:8080/war1/run_app1
localhost:8080/war2/run_app2

我试过这样的方法:

FROM tomcat
MAINTAINER user1

#VOLUME /usr/local/tomcat/webapps

RUN ["rm", "-fr", "/usr/local/tomcat/webapps/ROOT"]
ADD /src/main/docker/run_app1.war /usr/local/tomcat/webapps/war1/

COPY /src/main/docker/run_app1.war /usr/local/tomcat/webapps/war1/ROOT.war

CMD ["catalina.sh", "run"]

但它不起作用...知道如何实现这样的事情吗?

最佳答案

非常简单,只需重命名 WAR 文件即可!

以您的 .war 文件为例:

如果您希望 war1.war 文件以“localhost:8080/war1/run_app1”运行,只需将其重命名即可:

mv war1.war war1#run_app1.war

并将此文件复制到TOMCAT_DIR/webapps/

相应地,您可以在 docker 中更改命令行(文件名)。

如果您有任何疑问或您正在寻找不同的解决方案,请告诉我。

谢谢, 尼尚特

关于docker - 如何部署几个war到root tomcat?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48154233/

相关文章:

javascript - 无法在 Jetty Web 应用程序中加载 javascript 文件

linux - bash : no such file or directory when adding gradle to path on linux

python - arcpy 获取要素数据集中要素类的数据库路径

java - Spring Boot 启动失败

macos - Mac OS X 上的 scp 问题 : scp doesn't like spaces in filenames, "\"修复不起作用

docker - 无花果无效的存储库名称错误

postgresql - 将 docker-compose .yml 用于 docker swarm 时如何传递 POSTGRES_USER env 变量

mysql - docker 撰写 : The server requested authentication method unknown to the client

amazon-web-services - 带有 docker 容器的 Amazon Elastic Beanstalk 与 EC2 实例

java - 无法在 liferay 中部署 WAR 文件