我的码头文件:
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
答案 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容器)