无法加载外部资源:file:/var/lib/neo4j/import with Neo4j docker image

Couldn't load the external resource at: file:/var/lib/neo4j/import with Neo4j docker image

我试图在 Neo4j 中从 csv 加载节点,但是,每次我尝试这样做时,我都会收到这样的错误:

Neo.ClientError.Statement.ExternalResourceFailed: Couldn't load the external resource at: file:/var/lib/neo4j/import/events.csv

我的 event.csv 文件在 /var/lib/neo4j/import 目录中,权限为 777。我尝试 运行 的查询如下所示:

USING PERIODIC COMMIT 500 LOAD CSV WITH HEADERS FROM "file:///events.csv"  AS line
CREATE (e:Event { event_id: toInteger(line.event_id), 
created: line.created,
description: line.description })

我使用最新版本的 docker 图像设置了 Neo4j。文件权限或文件位置可能有什么问题?

Docker 容器无法访问主机外部的文件,除非您将这些文件装载到容器中。

解决方法是在调用docker run命令时bind-mount你容器的目录:

docker run -v /var/lib/neo4j/import:/var/lib/neo4j/import ... <IMAGE> <CMD>