gpt4 book ai didi

java - Spring Boot + DynamoDB 本地与 Docker : Connect to localhost:8000 failed

转载 作者:行者123 更新时间:2023-11-30 06:30:28 38 4
gpt4 key购买 nike

我构建了一个用于查询 DynamoDB 的 Spring Boot REST API,并且我想配置一两个作为微服务运行的 Docker 容器:一个在本地运行 DynamoDB,另一个运行 REST API。我为 Spring Boot REST API 配置了一个容器,但是当我调用该 API 时,即使 DynamoDB 在 localhost:8000 上运行,它也无法查询本地 DynamoDB。我得到的错误是:

无法执行 HTTP 请求:连接到 localhost:8000 [localhost/127.0.0.1] 失败:连接被拒绝(连接被拒绝)

尽管收到该消息,我仍然可以使用浏览器通过本地主机访问 DynamoDB。就好像 Docker 容器不允许 API 访问 localhost:8000,即使 API 容器正在 localhost:8080 上运行。

我应该如何配置我的容器,以便每个容器作为单独的微服务运行?以前有人遇到过类似的问题吗?

最佳答案

容器内的

localhost 并不指向真实的机器主机。从字面上看,当您在任何 docker 容器中使用 localhost 时,它将指向容器本身。

Docker 提供了两种处理这种情况的方法:

链接。这是已弃用的方式,should be avoided在新项目中。

网络。Docker 可以建立一个网络,您可以在其中通过 DNS 名称(容器 ID 或容器名称)访问容器。

way described here 中创建网络,将 localhost 替换为数据库容器的名称,然后就可以开始了。

关于java - Spring Boot + DynamoDB 本地与 Docker : Connect to localhost:8000 failed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46260831/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com