无法从Docker实例连接到neo4j

时间:2020-05-14 21:27:28

标签: node.js docker neo4j bolt

我有一个连接到neo4j的Node.js应用程序。运行它通常可以正常运行,我可以连接。但是,当我在Docker中运行它时,会遇到此错误:

When command exists - Hold terminal open

我正在使用neo4j-driver v4.0.2和Neo4j 4.0.3。

我创建了一个仓库来重现该问题:https://github.com/Layvier/test_neo4j

我是否缺少有关Docker网络的东西?

我发现了与python驱动程序相关的问题:https://github.com/neo4j/neo4j-python-driver/issues/251#issuecomment-420160271

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

您的docker映像在隔离的网络中运行,因此它无法访问localhost:7687上的neo4j

在您的JavaScript文件中,尝试更改要连接到主机IP的网址,而不是localhost。您可以通过运行ip addr show来找到它。

更好的是,您可以使用--add-host标志-add host to container example

将主机映射传递到您的容器
docker run -it --add-host=neo4j:[your-host-ip] user/test-neo4j:latest

然后可以在您的index.js中使用neo4j而不是localhost进行连接