今天在用docker安装neo4j图形数据库时,遇到一个问题

'apoc.meta.data()' is allowed in Neo4j configuration

这是我的docker-compose.yml文件,明明按官网写的配置了环境变量NEO4J_PLUGINS=‘[“apoc”]’,但是运行后并没有达到预期效果
在这里插入图片描述

  • neo4j官网文档中yml文件的数据挂载路径是不正确的,请在路径前面加上"/var/lib/neo4j"
services:
  neo4j:
    image: neo4j:latest
    volumes:
        - /home/neo4j/logs:/var/lib/neo4j/logs # 官网直接就是/logs,明显不对
        - /home/neo4j/conf:/var/lib/neo4j/conf
        - /home/neo4j/data:/var/lib/neo4j/data
        - /home/neo4j/plugins:/var/lib/neo4j/plugins
    environment:
        - NEO4J_AUTH=neo4j/12345678
        - NEO4J_PLUGINS='["apoc"]'
    ports:
      - "7474:7474"
      - "7687:7687"
    restart: always

解决方案

  • 执行完毕 docker-compose up -d 命令后,通过下面命令把apoc-*.jar文件复制出来,我当时看文件名是apoc-5.26.0-core.jar ,随着版本升级我们可能不一样,自己替换即可
docker cp neo4j容器id或容器名:/var/lib/neo4j/labs/apoc-5.26.0-core.jar /home/neo4j/plugins
  • 然后在修改配置文件 /home/neo4j/conf/neo4j.conf,增加以下内容
dbms.security.procedures.unrestricted=apoc.*
dbms.security.procedures.whitelist=apoc.*
  • 保存后,执行docker-compose restart 重启一下就可以了

最终效果

在neo4j的web页面中,执行

CALL apoc.help("apoc")

看到以下结果就正常了
在这里插入图片描述

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐