我正在使用 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/