cycli无法连接docker neo4j数据库

我build立了一个docker neo4j镜像:

2017-11-02 03:29:49.000+0000 INFO ======== Neo4j 3.2.5 ======== 2017-11-02 03:29:49.037+0000 INFO Starting... 2017-11-02 03:29:50.527+0000 INFO Bolt enabled on 0.0.0.0:7687. 2017-11-02 03:29:54.338+0000 INFO Started. 2017-11-02 03:29:55.744+0000 INFO Remote interface available at http://localhost:7474/ 

端口映射是:

 7473/tcp localhost:32770 7474/tcp localhost:32769 7687/tcp localhost:32768 

我可以通过http://localhost:32769/browser/

现在我想通过cycli访问它,但失败了:

 Jimmys-MBP:scripts jimmy$ cycli -u neo4j -p xxxxx -h localhost -P 32769 ______ __ __ ______ __ __ /\ ___\ /\ \_\ \ /\ ___\ /\ \ /\ \ \ \ \____ \ \____ \ \ \ \____ \ \ \____ \ \ \ \ \_____\ \/\_____\ \ \_____\ \ \_____\ \ \_\ \/_____/ \/_____/ \/_____/ \/_____/ \/_/ Cycli version: 0.7.6 Neo4j version: 3.2.5 Bug reports: https://github.com/nicolewhite/cycli/issues > match(n) return n; Unable to connect to localhost on port 7687 - is the server running? 

为什么它仍然在寻找docker端口7687?

这个问题的根源很可能是跟在neo4j.conf中的configuration参数

 dbms.connector.bolt.listen_address=0.0.0.0:7687 

由于您使用docker端口映射redirect端口7687

 7687/tcp localhost:32768 

你也应该修改boveconfiguration,以确保neo4j通告端口32768,而不是默认端口7687。

使用以下命令来调用docker conatiner时,可以实现环境variables的文档

 sudo docker run -d --publish=32769:7474 --publish=32768:32768 --env=NEO4J_AUTH=neo4j/neo4jadmin --env=NEO4J_dbms_connector_bolt_listen__address=0.0.0.0:32768 --name cycli_test_neo4j neo4j 

但是,这个问题在循环中需要解决所有这些工作。