我使用导入工具将数据导入到一个新的Neo4j数据库,而不是标准的graph.db。我想把这个数据库换成网络Neo4j。我使用了/var/lib/ne4j卷的Neo4j停靠映像。但是我无法找到我的配置文件来更改活动数据库,即使在我挂载了conf目录之后,这个文件也没有生成。如何在web客户端或Neo4j shell中切换活动的neo4j数据库?
下面是创建neo4j容器的命令:
docker run --publish=7474:7474 --publish=7687:7687 --volume=/var/lib/neo4j/import:/var/lib/neo4j/import --env=NEO4J_dbms_allow_upgrade='true' --env=NEO4J_dbms.security.allow_csv_import_from_file_urls='true' neo4j:latest发布于 2018-04-16 15:33:09
您不能更改活动Neo4J实例的活动数据库.
企业版确实允许在不重新启动的情况下更改某些值;允许以这种方式更改的键在网上文献中列出,但dbms.active_database不是其中之一。
相反,你有一些选择。
您可以挂载一个/conf目录
conf目录中可以填充将完全覆盖默认配置文件的配置文件。它们不是由Neo4J生成的,您必须获取整个neo4j.conf文件并将其放在目录中,然后将其挂载到容器中。您可以在该文件中更改所需的任何值。
在使用新文件更新映射目录后,您将需要从图像中弹出图像(或从图像中弹起neo4j )。
您可以使用环境变量设置活动数据库。
类似于您在其他环境变量中传递的方式,您可以传递其他配置选项。如果您的新数据库名为newgraph.db,并且它驻留在与graph.db相同的目录中,则只需传入--env=NEO4J_dbms_active__database=newgraph.db。如果它驻留在另一个目录中,则使用--env=NEO4J_dbms_directories_data=/path/to/new/data/dir提供该目录。
由于这些是作为环境变量传递的,因此更改它们需要启动一个新的Docker映像。
你也可以建立你自己的形象.
最后,也可能是最激烈的选择是创建您自己的映像,该映像基于新4j的映像,并具有所需的所有更改。通常,这并不是必需的,但是如果您想要清理您对docker的调用,而不保留任何映射的配置目录,那么这就是方法。它还将确保任何拥有您的自定义映像的人都不需要额外的配置;这取决于您和您的部署架构。
https://stackoverflow.com/questions/49860488
复制相似问题