恢复到一个 neo4j docker 容器

3
我在我的服务器上运行了一个neo4j的docker容器,并设置了自动备份以备份数据库。我尝试测试从备份中恢复数据库,但我无法弄清楚如何在docker容器内部还原数据库。
我正在尝试使用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文件夹复制到实际数据文件夹中,但我认为这不是正确的方法。
2个回答

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

2

发现一种更简单的方法来改变Docker Neo4J容器的默认数据库,您可以在docker run或service命令中设置一个环境变量:

-e NEO4J_dbms_active__database="test.db"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接