java - 使用 docker 在 EC2 中部署时 Spring Boot 应用程序不可用 - 错误 404

标签 java spring-boot docker amazon-ec2 web-applications

我正在使用 Spring Boot Web 应用程序。在我的台式电脑上运行的 tomcat 服务器 8.0 中运行良好

使用的网址:http://{desktop_ip}:8080/tennis/

现在我正在尝试使用在 EC2 实例中运行的 docker 来部署相同的 war

我将 war 复制到 EC2 实例并使用以下命令进行部署

sudo docker run -it -p 8080:8080 -v tennis.war:/usr/local/tomcat/webapps/tennis.war -d tomcat:8.0

当我尝试访问该应用程序时,我收到错误 404

使用的网址:http://{EC2_Public_ip}:8080/tennis/ 但我可以访问 tomcat 默认示例应用程序 http://{EC2_Public_ip}:8080/examples/

所以我假设 IP 和端口可以访问

在日志中我看到应用程序已部署,没有任何错误

日志

    13-Sep-2019 05:33:39.587 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/tomcat/webapps/docs] has finished in [53] ms
    13-Sep-2019 05:33:39.590 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/usr/local/tomcat/webapps/examples]
    13-Sep-2019 05:33:40.295 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/usr/local/tomcat/webapps/tennis.war]
    13-Sep-2019 05:33:40.359 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/tomcat/webapps/tennis.war] has finished in [64] ms
    13-Sep-2019 05:33:40.369 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]

访问日志

173.171.238.114 - - [13/Sep/2019:05:34:25 +0000] "GET /tennis/ HTTP/1.1" 404 1085
173.171.238.114 - - [13/Sep/2019:05:34:39 +0000] "GET /tennis/ HTTP/1.1" 404 1085

我也在 docker tomcat 9.0 中尝试过,但没有成功

有什么建议请留言

最佳答案

尝试像这样更改-v:

-v /full/path/tennis.war:/usr/local/tomcat/webapps/tennis.war

我认为 Docker 在此处创建一个名为 volume 的空文件夹

关于java - 使用 docker 在 EC2 中部署时 Spring Boot 应用程序不可用 - 错误 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57918089/

相关文章:

java - 使用端口转发运行 docker 失败

java - Ant:如何从 Java 执行 Ant

java - Eureka认证方法及UI

java - EmbeddedKafkaRule没有brokerListProperty方法

java - @Scheduled方法无法使用存储库

docker - 如何使用自定义配置启动Apache Storm容器?

java - 选择正确的类(从名词)来构建我的项目

java - 通过 Selenium 直接按 "F12"键

docker - 我可以在 Dockerfile FROM 语句中引用环境变量吗?

docker - Docker容器不列出我拉出的容器吗?