docker - 无法访问Docker容器中的Spring Boot API

标签 docker continuous-integration docker-compose dockerfile

我试图在我的机器上的docker容器中运行我的应用程序,但遇到任何端点问题。 (当我在本地运行时一切正常)

#DOCKERFILE 
FROM tomcat:latest

RUN mkdir  -p /app/fleet-service
WORKDIR /app/fleet-service

COPY /target/fleet-view-1.0.0.war /usr/local/tomcat/webapps/fleet-view-1.0.0.war

EXPOSE 8080

图像构建良好,我正在使用以下cmd运行它:
docker run --rm -p 8080:8080 <imagename>

我很困惑,因为该应用程序成功部署,因为我可以在docker终端中看到日志。没有错误,数据库连接有效。但是,当我去:
<docker-machine-ip>:8080 
-> i get the tomcat website saying that tomcat is running

<docker-machine-ip>:8080/api/vehicles/ 
-> should return data as it does when i run it locally but instead i get a '404 Not Found'.

我想我很亲近,但我不知道从这里去哪里。没有要考虑的应用程序上下文。实际上,该应用程序也在8080上运行。

任何建议,我们将不胜感激,如果您需要更多信息,请告诉我。谢谢!

最佳答案

答案很简单,但很容易被忽略-我不得不添加应用程序上下文。

docker-machine-ip:8080 / fleet-view-1.0.0 / api / vehicles

效果很好。

关于docker - 无法访问Docker容器中的Spring Boot API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44208240/

相关文章:

junit - jenkins 可以在单个项目中使用 jUnit 和 nUnit 测试输出报告历史吗

python - Google Cloud Run 不加载 .env 文件

node.js - Docker npm 安装失败

amazon-web-services - 有没有办法在AWS Codebuild上更改目录

git - 圆 ci 中的 "checkout"步有什么作用?

mysql - php无法连接到docker-compose中的mysql

docker - desc = 名称必须作为 dns 名称组件有效

postgresql - Spring Docker 容器无法访问 Postgres Docker 容器

docker - Docker:如何从Docker内部连接到本地可用的服务器

shell - 从 bash 脚本文件运行 docker-compose