如何在删除root后访问部署在Tomcat Docker Container中的War File Build

时间:2016-12-20 16:22:47

标签: java ubuntu tomcat docker

我的码头文件:

FROM tomcat

MAINTAINER "Shan Khan <xxx@gmail.com">

RUN ["rm", "-rf", "/usr/local/tomcat/webapps/ROOT"]

COPY ROOT.war /usr/local/tomcat/webapps/

CMD ["/usr/local/tomcat/bin/catalina.sh", "run"]

以:

运行
sudo docker build -t webserver
sudo docker run -it --rm -p 8080:8080 webserver

tomcat正在运行但我无法访问localhost:8080或localhost:8080 / ROOT

2 个答案:

答案 0 :(得分:0)

当我为工作项目执行此操作时,我似乎记得必须将应用程序部署到Tomcat根目录。

Deploying my application at the root in Tomcat

所以基本上你需要在Dockerfile中添加一些步骤来完成这个。

答案 1 :(得分:0)

而不是使用CMD ["/usr/local/tomcat/bin/catalina.sh", "run"],请尝试将其作为ENTRYPOINT ["/usr/local/tomcat/bin/catalina.sh", "run"]

如果这样无法解决您的问题,请尝试查看日志。在日志中,您会看到deploying webapp ROOT之类的内容。如果您没有看到此日志,但得到server startup took ***ms,则尝试在本地检查war文件,或者通过连接到docker容器查看日志文件夹中的catalina.out文件中是否出现了一些错误。 (docker ps-命令用于检查运行dockerfile的docker容器)