pyorient 无法连接到 orientdb docker

pyorient can't connect to orientdb docker

我正在使用 pyorient 1.5.4 和 docker for orientdb 2.2.5

如果我用浏览器连接数据库,服务器显然是运行。 如果我连接 pyorient,我会收到错误。

这是我用来连接数据库的代码:

import pyorient

database = pyorient.OrientDB('127.0.0.1', 2424)
database.db_open(
                'myDB',
                'root',
                'mypassword',
                db_type='graph'
            )

我收到以下错误:

pyorient.exceptions.PyOrientConnectionException: Server seems to have went down

我使用以下命令创建了 docker 容器:

docker run -d --name orientdb -p 2424:2424 -p 2480:2480 -v /home/myuser/Code/database:/orientdb/databases  -e ORIENTDB_ROOT_PASSWORD=mypassword orientdb:latest /orientdb/bin/server.sh  -Ddistributed=true

服务器是 运行,因为通过浏览器连接可以正常工作。

似乎必要的端口都打开了,为什么 pyorient 认为数据库已关闭?

我发现了我的问题。我开始使用 docker 容器:

-Ddistributed=true

删除参数使我能够正常连接。

但是,我发现pyorient 在尝试解析分布式模式下从orientDB 返回的数据包时会陷入无限循环。这是由于 pyorient 上的错误。该错误在此处有更详细的解释:

https://github.com/mogui/pyorient/issues/215#issuecomment-245007336