2017-02-15 51 views
0

我有一个在我的服务器上运行neo4j的码头集装箱,并且我设置了备份数据库的自动备份。我试图从备份恢复数据库,但我无法弄清楚如何恢复泊坞窗容器内的数据库。恢复到neo4j码头集装箱

我试图使用docker exec -t bin/neo4j-admin restore --from=/path/to/backup --database=graph.db --force

我从你必须关闭的Neo4j恢复备份的Neo4j的文档阅读,但我敢肯定,在容器关闭的Neo4j将关闭我的容器(该容器使用bin/neo4j console开始)。有没有办法在不关闭neo4j的情况下恢复备份,或者在不关闭容器的情况下关闭neo4j的方法?或者我必须直接在我的服务器上运行neo4j而无需docker?

现在,唯一可行的解​​决方案是将备份的graph.db文件夹复制到实际的数据文件夹中,但我认为这不是正确的方法。

回答

0

我遇到了同样的问题。最终我在运行的neo4j容器上使用neo4j-admin restore,使用新的数据库名称,例如。 --database=new.db。然后停止实例并将dbms.active_database=graph.db更改为dbms.active_database=new.dbneo4j.conf(这只有在配置文件位于已安装的卷中时才有效。据我所知,没有可用于设置活动数据库的环境变量)。尽管如此,这还不是最方便的解决方案,所以我希望有更好的方法来做到这一点。

1

找到一个更简单的方法来改变你的码头工人的Neo4j容器的默认数据库,你可以简单地设置环境变量在运行搬运工或服务的命令:

-e NEO4J_dbms_active__database="test.db"