无法访问 docker 容器中的 REST 端点
Posted
技术标签:
【中文标题】无法访问 docker 容器中的 REST 端点【英文标题】:Unable to access rest endpoint in a docker container 【发布时间】:2020-07-28 15:00:49 【问题描述】:我的 Dockerfile 中有一个简单的 Spring Boot Rest 服务项目:
FROM openjdk:8
EXPOSE 8080
ADD /target/spotdemo-0.0.1-SNAPSHOT.jar spotdemo.jar
ENTRYPOINT ["java", "-jar", "spotdemo.jar"]
镜像构建成功,我也可以为它启动容器:
docker run -p 8080:8080 -t spotdemo-microservice
.......
在 3.256 秒内启动 SpotDemoApplication(JVM 运行 4.005)
但是尝试从邮递员访问端点会抛出错误:
"timestamp": "2020-04-15T15:08:43.218+0000",
"status": 404,
"error": "Not Found",
"message": "No message available",
"path": "/hello"
我还应该在这里做什么?
编辑:
控制器为:
@RestController
public class TestController
@GetMapping("/hello")
public String hello()
return "Hello World";
调用如下:
http://localhost:8080/hello
【问题讨论】:
哈?你真的在处理/hello
端点吗?向我们展示控制器的代码以及适当的帮助。您发送的确切请求是什么(方法和 URL)?
【参考方案1】:
可能是this的重复。
但似乎答案是:
将 server.address=0.0.0.0 添加到 application.properties
【讨论】:
以上是关于无法访问 docker 容器中的 REST 端点的主要内容,如果未能解决你的问题,请参考以下文章
使用docker-compose时无法访问docker容器内的spring-boot rest-endpoint