想知道是否有人尝试使用docker-compose运行tomcat并成功运行Web应用程序。我把以下的docker-compose文件放在一起。
tomcat:
image: bitnami/tomcat:latest
environment:
- TOMCAT_USERNAME=root
- TOMCAT_PASSWORD=password
links:
- db:mysql
ports:
- 8585:8080
volumes:
- ./tomcat:/bitnami/tomcat
db:
image: mariadb
ports:
- 3636:3306
environment:
MYSQL_ROOT_PASSWORD: password
phpmyadmin:
image: phpmyadmin/phpmyadmin
links:
- db:mysql
ports:
- 8689:80
environment:
MYSQL_USERNAME: root
MYSQL_ROOT_PASSWORD: password
PMA_HOST: mysql
容器全部运行,我可以访问apache'web应用程序管理器',我已经部署了我的.war文件,该文件显示正在运行。
但是当我尝试从浏览器访问它时,我得到了404
如果有人可以提供帮助或指出我正确的方向,我们将不胜感激。
很抱歉应该指出我使用Thyme-leaf进行网页模板化,所以index.html文件位于resources / templates文件夹中,我有我的Controller映射到它。在我开始使用百里香叶之前,我也遇到过这个问题。一切都在局部环境中工作,而不是在容器中。
答案 0 :(得分:2)
好的家伙最终认为这个问题与我在我的pom中的tomcat依赖关系有关。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
即使范围被设置为容器似乎不喜欢它,我已经删除了依赖项,一切都按预期工作。
答案 1 :(得分:0)
您的new_test.war
缺少index.htm
l文件,如果您说它位于正确的位置根文件夹中。使用7zip或类似工具打开您的war/archive
以查看文件所在的位置。