Tomcat docker-撰写正在运行的Web应用程序

时间:2016-11-08 01:16:56

标签: tomcat docker docker-compose dockerfile

想知道是否有人尝试使用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文件,该文件显示正在运行。

enter image description here

但是当我尝试从浏览器访问它时,我得到了404

enter image description here

如果有人可以提供帮助或指出我正确的方向,我们将不胜感激。

很抱歉应该指出我使用Thyme-leaf进行网页模板化,所以index.html文件位于resources / templates文件夹中,我有我的Controller映射到它。在我开始使用百里香叶之前,我也遇到过这个问题。一切都在局部环境中工作,而不是在容器中。

2 个答案:

答案 0 :(得分:2)

好的家伙最终认为这个问题与我在我的pom中的tomcat依赖关系有关。

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    <scope>provided</scope>
</dependency>

即使范围被设置为容器似乎不喜欢它,我已经删除了依赖项,一切都按预期工作。

enter image description here

答案 1 :(得分:0)

您的new_test.war缺少index.htm l文件,如果您说它位于正确的位置根文件夹中。使用7zip或类似工具打开您的war/archive以查看文件所在的位置。