还原到neo4j docker容器

还原到neo4j docker容器,docker,neo4j,Docker,Neo4j,我的服务器上有一个运行neo4j的docker容器,并且我已经设置了自动备份来备份数据库。我尝试从备份中恢复数据库,但我不知道如何在docker容器中恢复数据库 我试图使用docker exec-t bin/neo4j admin restore--from=/path/to/backup--database=graph.db--force 我从neo4j文档中读到,您必须关闭neo4j才能恢复备份,但我非常确定在容器中关闭neo4j将关闭我的容器(容器是使用bin/neo4j控制台启动的)。有

我的服务器上有一个运行neo4j的docker容器,并且我已经设置了自动备份来备份数据库。我尝试从备份中恢复数据库,但我不知道如何在docker容器中恢复数据库

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

我从neo4j文档中读到,您必须关闭neo4j才能恢复备份,但我非常确定在容器中关闭neo4j将关闭我的容器(容器是使用
bin/neo4j控制台启动的)。有没有一种方法可以在不关闭neo4j的情况下恢复备份,或者有没有一种方法可以在不关闭容器的情况下关闭neo4j?或者我必须在没有docker的情况下直接在服务器上运行neo4j吗


目前,唯一有效的解决方案是将备份的graph.db文件夹复制到实际的data文件夹中,但我认为这不是正确的方法。

我遇到了同样的问题。最后,我在运行的neo4j容器上使用了
neo4j管理还原
,使用了新的数据库名称,例如
--database=new.db
。然后停止实例,并在
neo4j.conf
中将
dbms.active_database=graph.db
更改为
dbms.active_database=new.db
(这仅在装入卷中有配置文件时有效。据我所知,没有环境变量可用于设置活动数据库)。尽管如此,这并不是最方便的解决方案,因此我希望有更好的方法。找到了一种更简单的方法来更改Docker Neo4J容器的默认数据库,您只需在Docker run或service命令中设置一个环境变量:

-e NEO4J_dbms_active__database="test.db"