我有一个连接到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
感谢您的帮助!
答案 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
进行连接