Docker轻松搭建Neo4j+APOC环境
- 一、简介
- 二、Docker部署neo4j
- 三、Docker安装APOC插件
- 四、删除数据库/切换数据库
一、简介
Neo4j 是一款高性能的 原生图数据库,采用 属性图模型 存储数据,支持 Cypher查询语言,适用于复杂关系数据的存储和分析。其核心优势包括:
- 灵活的数据模型:以 节点(Node)、关系(Relationship)和属性(Property) 组织数据
- 高效的关联查询:擅长处理深度遍历、路径查找等复杂关系查询
- ACID事务支持:确保数据一致性
- 可扩展性:支持大规模图数据处理
APOC(Awesome Procedures On Cypher) 是 Neo4j 的 官方扩展插件,提供了 300+ 存储过程和函数,极大增强 Neo4j 的功能,包括: - 数据导入/导出(JSON、CSV、XML、JDBC等)
- 图算法(最短路径、PageRank、社区发现等)
- 数据转换(集合、字符串、时间处理)
- 图重构(子图提取、虚拟图、模式匹配)
- 运维工具(数据库监控、备份恢复)
Docker部署Neo4j官方文档:https://neo4j.com/docs/operations-manual/current/docker/introduction/
二、Docker部署neo4j
1.cmd打开命令行,运行:docker pull neo4j。docker环境搭建参考文章:Docker 环境搭建与三大数据库(MySQL/Redis/MongoDB)部署教程
2.在本地创建映射文件夹neo4j>data、neo4j>conf、neo4j>logs
3.临时启动neo4j容器:docker run -d --name neo4j --publish=7474:7474 --publish=7687:7687 --env NEO4J_AUTH=neo4j/12345678 neo4j
4.在docker客户端找到/var/lib/neo4j/conf目录,把该目录中的文件复制到neo4j>conf;不复制也可以,只是挂载conf目录后,原本的四个文件会只留一个neo4j.conf文件
5.运行docker stop neo4j && docker rm neo4j删除原本的临时容器,使用下面命令重启容器
/*****
--publish:主机端口:容器端口,7474为浏览器端端口,7687为Bolt协议默认端口
-d:启动的镜像名称。
--name:设置容器名称。
--restart=always:设置docker启动时,容器跟随自启。
--env NEO4J_AUTH=neo4j/12345678:设置密码,密码长度不能小于8位
--volume=/f/Docker/home/neo4j/conf:/var/lib/neo4j/conf:挂载容器配置文件到宿主,方便修改配置文件,,如果是linux系统宿主机不需要加盘符,直接使用/就代表宿主机的根目录
--volume=/f/Docker/home/neo4j/data:/data:挂载容器存储文件到宿主,避免因不小心卸载容器或者容器损坏导致数据丢失不可找回风险,,如果是linux系统宿主机不需要加盘符,直接使用/就代表宿主机的根目录
--volume=/f/Docker/home/neo4j/logs:/logs:挂载日志文件,,如果是linux系统宿主机不需要加盘符,直接使用/就代表宿主机的根目录
*****/
docker run -d --name neo4j --restart=always --publish=7474:7474 --publish=7687:7687 --env NEO4J_AUTH=neo4j/12345678 --volume=/f/Docker/home/neo4j/data:/data --volume=/f/Docker/home/neo4j/conf:/var/lib/neo4j/conf --volume=/f/Docker/home/neo4j/logs:/logs neo4j
6.宿主机访问:http://localhost:7474/,页面正常打开说明neo4j部署成功
7.验证数据文件是否挂载成功:打开neo4j>data如图所示,说明数据文件挂载成功
8.验证日志文件是否挂载成功:打开neo4j>conf如图所示,说明日志文件挂载成功、neo4j>logs
9.验证配置文件是否挂载成功:打开neo4j>logs,如果该目录下的文件还存在,说明配置文件挂载成功
三、Docker安装APOC插件
1.运行docker exec -it neo4j neo4j --version,查看neo4j的版本,第一个neo4j是容器名,第二个neo4j是neo4j命令
2.访问链接:https://neo4j.com/docs/apoc/current/installation/,下载对应版本的APOC包,在neo4j目录新建plugins文件夹,把apoc包放进该文件夹
3.将文件由宿主机移动至容器:docker cp F:/Docker/home/neo4j/plugins/apoc-2025.04.0-core.jar neo4j:/var/lib/neo4j/plugins
4.重新启动容器:docker restart neo4j。也可在创建容器时挂载plugins目录
5.测试apoc插件是否安装成功,浏览器访问:http://localhost:7474/,输入账号密码登录,运行:call apoc.help(“apoc”)
四、删除数据库/切换数据库
在免费版 Neo4j 中,单次仅支持运行一个数据库,且默认数据库名必须为 neo4j。如需删除数据库,只需以下步骤:
1.停止容器:docker stop <容器名>
2.修改挂载目录:进入挂载的 data 目录,将默认数据库文件夹 neo4j 重命名(如 neo4j_old)
3.重启容器:docker start <容器名>
由于 Neo4j 启动时检测不到默认数据库,会自动新建一个空的 neo4j 数据库,原数据即被"删除"。此方法无需复杂操作,适合快速清理数据。