docker - 恢复到 neo4j docker 容器

标签 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的情况下恢复备份,或者有没有办法在不关闭容器的情况下关闭neo4j?或者我是否必须直接在我的服务器上运行没有 docker 的 neo4j?

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

最佳答案

我遇到了同样的问题。最终我在一个正在运行的 neo4j 容器上使用了 neo4j-admin restore,使用了一个新的数据库名称,例如。 --database=new.db。然后停止实例并在 neo4j.conf 中将 dbms.active_database=graph.db 更改为 dbms.active_database=new.db (这仅适用如果您在已安装的卷中有配置文件。据我所知,没有可用于设置事件数据库的环境变量)。这仍然不是最方便的解决方案,所以我希望有更好的方法。

关于docker - 恢复到 neo4j docker 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42253738/

相关文章:

neo4j - EmbeddedReadOnlyGraphDatabase 提示锁定的数据库

reactjs - 容器化的webpack-dev-server不响应文件更改

docker - 如何解决docker scan中报告的python3.7 Docker漏洞

neo4j - 如何将 Cypher 文件加载到 Neo4j 中

Neo4j 关系模式索引

Neo4jClient - 返回属于节点的标签

docker - docker.service 的作业失败,因为控制进程以错误代码退出

docker - 如何将静态公共(public) IP 分配给 docker 容器

docker - Nginx没有Docker连接到Docker容器(clojure)

database - 未显示大型 Neo4j 图