首页 > 解决方案 > Docker + Spring Boot/MVC WAR = Tomcat 404

问题描述

所以我正在尝试对我的 Spring Boot Web 应用程序进行 docker 化。在 IntelliJ 下它工作正常,但是一旦我部署它 - http 状态 404 出现而不是我的主页。

项目结构

-src
   -main
      -java
         ...my packages
      -resources
         ...application.properties and others
      -webapp
         -WEB-INF
            -views
               ...jsp pages
         -resources
            ...js, css, images
   -test

pom.xml包括 spring-boot-starter 依赖项、Tomcat 和 spring-boot-maven 插件。

Dockerfile

FROM tomcat:8.0.51-jre8-alpine
RUN rm -rf /usr/local/tomcat/webapps/*
COPY ./target/charity-0.0.1-SNAPSHOT.war /usr/local/tomcat/webapps/ROOT.war

我认为 Docker 不知何故看不到 WEB-INF 文件夹。我在这个问题上遇到了超过 2 天的问题......有什么想法吗?CMD [“catalina.sh”,“运行”]

标签: spring-bootdockerspring-mvcdockerfilewar

解决方案


只是为了确认,你正在做

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

并在pom.xml中将包装标记为战争

此外,您需要修改应用程序的主类

请参考以下链接 https://www.baeldung.com/spring-boot-war-tomcat-deploy


推荐阅读