【问题标题】:Restoring to a neo4j docker container恢复到 neo4j docker 容器
【发布时间】:2018-02-06 03:57:57
【问题描述】:

我的服务器上有一个运行 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?还是我必须直接在我的服务器上运行没有 docker 的 neo4j?

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

【问题讨论】:

    标签: docker neo4j


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      -e NEO4J_dbms_active__database="test.db"
      

      【讨论】:

        猜你喜欢
        • 2021-06-02
        • 1970-01-01
        • 1970-01-01
        • 2017-03-11
        • 1970-01-01
        • 2016-02-29
        • 1970-01-01
        • 2018-03-16
        • 2020-10-15
        相关资源
        最近更新 更多