我的问题可能很幼稚,但是我是开发人员和Docker的新手,无法解决该问题。 我有一个免费的GraphDB映像,可以作为docker容器运行,它在localhost:7200上运行。我也可以在chrome中访问它。
现在,我还有另一个模块ModelService,它是用于引导数据读取和写入GraphDB的Spring Boot应用程序。我创建了模块的映像并将其作为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
和register.repositoryId=SYSTEM
与GraphDB连接。
我相信我在Docker容器中缺少了一些东西。我不想使用Docker-Compose,重点是将两个容器作为独立的容器运行。我在运行docker run时尝试过--link
,但没有帮助。
我使用docker run -p 7200:7200 graphDB-image
运行GDB实例,并使用docker run -p 9001:8080 modelService-image
运行ModelService。我确实在GraphDB完全启动并运行之前等待,然后运行其他容器。
有人可以帮忙吗?我已经努力了2天。