一、前言
官方文档:https://neo4j.com/docs/operations-manual/current/docker/introduction/
二、安装Neo4j
我这里以 5.23.0 版的 Neo4j 为例
-
拉取镜像
docker pull neo4j:5.23.0
-
启动容器
docker run -d \ --name my_neo4j \ --restart always \ --publish=7474:7474 --publish=7687:7687 \ --env NEO4J_AUTH=neo4j/your_password \ --volume=/mnt/sda/neo4j/data:/data \ --volume=/mnt/sda/neo4j/conf:/var/lib/neo4j/conf \ neo4j:5.23.0
ps:
- NEO4J_AUTH 指定用户密码
- –volume=/mnt/sda/neo4j/data:/data 映射了数据存放位置 (宿主机数据映射位置:容器数据存放位置)
- –volume=/mnt/sda/neo4j/conf:/var/lib/neo4j/conf 映射了配置文件位置(免费版的neo4j不支持多数据库,因此切换库的时候需要修改配置文件,否则就要删库啦,切换数据库参考这篇文章 https://blog.csdn.net/weixin_35757704/article/details/120054005)
- 7474 端口用于在web网页访问(具体地址为
ip:7474
) - -d 要加上,后台运行
- –env NEO4J_AUTH=neo4j/your_password 其中密码可以自定义,用户名必须是neo4j
-
测试
查看容器日志
shell docker logs -f my_neo4j
访问浏览器界面(docker所在机器的ip:7474)
三、安装APOC插件
-
下载和 neo4j 对应的 apoc jar包
官方链接:https://neo4j.com/docs/apoc/current/installation/
-
上传到宿主机
我这里上传的路径是/mnt/sda/neo4j/plugins/apoc-5.23.0-core.jar
-
将文件由 宿主机 移动至 容器
docker cp /mnt/sda/neo4j/plugins/apoc-5.23.0-core.jar my_neo4j:/var/lib/neo4j/plugins
-
重启 neo4j 容器
docker restart my_neo4j
-
测试
访问 Neo4j browser (ip:7474)
输入这条命令
shell call apoc.help("apoc")
如果返回如下结果,说明插件安装成功了,可以使用 apoc 命令了
四、删除数据库/切换数据库
免费版 Neo4j 单次只能启动一个数据库,并且默认数据库名就叫 neo4j ,因此删除数据库只需要把挂载的data目录下的默认数据库名改一下然后重启容器就可以了(数据库改名后程序找不到默认的 neo4j 数据库,就会重新创建一个叫 neo4j 数据库了)
- 停止容器
docker stop my_neo4j
- 把默认数据库改个名备份
mv /mnt/sda/neo4j/data/databases/neo4j /mnt/sda/neo4j/data/databases/neo4j_bak # mv <容器挂载的宿主机数据目录>/databases/neo4j <容器挂载的宿主机数据目录>/databases/<备份数据库名>
- 启动容器
docker start my_neo4j
同样的,切换数据库只需要把改过名的数据库再改成 neo4j 就可以了(谁叫 neo4j 谁就会被启动,需要用哪个库,就把哪个库改叫 neo4j)