我可以在Docker上设置Neo4j在第一次运行时导入CSV文件,而不是之后呢?

有没有办法设置docker使neo4j导入特定的CSV文件只导入一次?

或者我应该这样做的JavaScript来检查如果neo4j是空的,然后加载?

当然,使用JavaScript很容易。 只是想知道我可以做docker吗?

neo4j导入工具( http://neo4j.com/docs/operations-manual/current/tutorial/import-tool/ )独立于neo4j运行。

构build图像时加载数据

您可以从neo4j基础镜像inheritance,并使用RUN /path/to/neo4j-import ...在创build镜像时加载数据。

这当然会只加载一次数据。

运行容器时加载数据

要在运行容器时加载数据,必须覆盖执行的脚本以运行启动neo4j。 请参阅docker_entrypoint.sh https://github.com/neo4j/docker-neo4j/tree/master/src/3.1

导入工具只在数据库不存在的情况下才起作用。 当它尝试将数据加载到现有的数据库以使其只运行一次时,您可能会发现错误。