cycli 无法连接 docker neo4j 数据库

cycli fails to connect a docker neo4j database

我已经设置了一个 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

中的以下配置参数
dbms.connector.bolt.listen_address=0.0.0.0:7687

由于您使用 docker 端口映射重定向端口 7687

7687/tcp    localhost:32768

您还应该修改以上配置以确保 neo4j 通告端口 32768 而不是默认端口 7687。

根据 documentation 启动 docker 容器时可以实现的环境变量

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 

但是,在 cycli 中有这个 bug 需要解决才能使所有这些工作正常。