我的问题可能很幼稚,但我是开发和 docker 的新手,无法找出解决方案。我有一个可以作为 docker 容器运行的 GraphDB-Free 映像,它在 localhost:7200 上运行。我也可以在 chrome 中访问它。
现在我有另一个模块 ModelService,它是 spring boot 应用程序,用于读取和写入数据到 GraphDB。我创建了模块的映像并将其作为 docker 容器运行,但每次它都会给我一个 Connection Refused 错误,如下所示:
Caused by: org.apache.http.conn.HttpHostConnectException: Connect to localhost:7200 [localhost/127.0.0.1] failed: Connection refused (Connection refused)
.
只有当我使用 docker 容器运行模块 ModelService 时才会出现此问题。如果我将它作为来自 intelliJ 的简单 java 应用程序运行,它运行良好并与我在容器内运行的 GraphDB 实例连接。
这个 ModelService 模块启动一个 springboot 应用程序,并有一个application.properties
文件指定它使用register.graphDbUrl=http://localhost:7200
和与 GraphDB 连接register.repositoryId=SYSTEM
。
我相信我缺少 Docker 容器的一些东西。我不想使用 Docker-Compose,重点是将两个容器作为独立容器运行。我--link
在运行 docker run 时尝试过,但没有帮助。
我使用 运行 GDB 实例docker run -p 7200:7200 graphDB-image
,使用docker run -p 9001:8080 modelService-image
. 我确实在 GraphDB 完全启动并运行之前等待,然后我运行其他容器。
有人可以帮忙吗?我已经为此苦苦挣扎了 2 天。