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

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


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


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


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


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

当我尝试访问该应用程序时,我得到Error 404


使用的 url: 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 ,但没有运气


有什么建议请


繁花不似锦
浏览 88回答 1
1回答

慕标琳琳

尝试像这样改变-v:-v /full/path/tennis.war:/usr/local/tomcat/webapps/tennis.war我想Docker创建一个名为volumehere的空文件夹
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java