Docker 安装 Neo4j 保姆级教程
本教程适用于零基础用户,详细讲解如何在 Windows 或 Linux 环境下通过 Docker 安装并配置 Neo4j 图数据库。
1. 环境准备
- 已安装 Docker(Docker Desktop 官网)
- Linux 和 Windows 均可
2. 创建挂载目录
在宿主机上新建以下目录,用于数据持久化和配置挂载(以 Linux 为例,Windows 可用资源管理器新建文件夹):
mkdir -p /home/neo4j/data /home/neo4j/logs /home/neo4j/conf /home/neo4j/import /home/neo4j/plugins
Windows 示例:
- 新建
data
、logs
、conf
、import
、plugins
这五个文件夹。
3. 拉取 Neo4j 镜像
以最新版为例(你也可根据需要指定版本):
docker pull neo4j:latest
4. 启动 Neo4j 容器
- Linux Docker run :
docker run -d --name neo4j \
-p 7474:7474 -p 7687:7687 \
-v /home/neo4j/data:/data \
-v /home/neo4j/logs:/logs \
-v /home/neo4j/conf:/var/lib/neo4j/conf \
-v /home/neo4j/import:/var/lib/neo4j/import \
-v /home/neo4j/plugins:/var/lib/neo4j/plugins \
-e NEO4J_AUTH=neo4j/your_secure_password
neo4j:latest
- Windows Docker run :
docker run -d --name neo4j ^
-p 7474:7474 -p 7687:7687 ^
-v E:/docker/neo4j/data:/data ^
-v E:/docker/neo4j/logs:/logs ^
-v E:/docker/neo4j/conf:/var/lib/neo4j/conf ^
-v E:/docker/neo4j/import:/var/lib/neo4j/import ^
-v E:/docker/neo4j/plugins:/var/lib/neo4j/plugins ^
-e NEO4J_AUTH=neo4j/neo4j@1234 ^
neo4j:latest
注意:NEO4J_AUTH 的格式必须为
用户名/密码
,如neo4j/123456
,不能只写密码,否则会报错。并且密码要超过8个字符,不然也无法启动
5. 访问 Neo4j
浏览器访问 http://localhost:7474,输入用户名 neo4j
和你设置的密码。
6. 配置远程访问(可选)
如需远程访问,需修改 neo4j.conf
文件:
- 编辑挂载到宿主机的
conf/neo4j.conf
文件,添加或修改如下内容:
# Neo4j 4以下版本追加以下配置
dbms.connector.bolt.listen_address=0.0.0.0:7687
dbms.connector.http.listen_address=0.0.0.0:7474
如果报错:
E:\docker\neo4j>docker logs -f neo4j
Failed to read config /var/lib/neo4j/conf/neo4j.conf: Unrecognized setting. No declared setting with name: dbms.connectors.default_listen_address. Cleanup the config or disable 'server.config.strict_validation.enabled' to continue.
Run with '--verbose' for a more detailed error message.
从 Neo4j 4.x 开始,配置项已经发生较大变更。而你提供的配置中混用了旧版本(如 3.x)和新版本(如 4.x/5.x)的配置项。
server.memory.pagecache.size=512M
server.default_listen_address=0.0.0.0
# 设置 Bolt 和 HTTP 端口
server.bolt.listen_address=:7687
server.http.listen_address=:7474
server.directories.logs=/logs
- 保存后重启容器:
docker restart neo4j
7. 常见问题
- 端口被占用:修改
-p
参数映射到未被占用的端口。 - 数据持久化:务必挂载
/data
目录,否则容器删除后数据会丢失。 - 防火墙问题:确保 7474、7687 端口已放行。
- 首次登录强制修改密码:首次登录后需修改密码。