Appearance
使用 Docker 安装 Neo4j
本教程介绍在已安装 Docker 的前提下,用容器快速运行 Neo4j(社区版镜像)。适用于 Windows、macOS 与 Linux。
前置条件
- 已安装 Docker Engine 或 Docker Desktop,且
docker命令在终端中可用。 - 预留端口:7474(Neo4j Browser / HTTP)、7687(Bolt,驱动与程序连接用)。若本机已被占用,可在运行命令里改成其他宿主机端口,例如
-p 17474:7474。
验证 Docker:
bash
docker version方式一:docker run 快速启动
以下示例将容器命名为 neo4j-dev,首次启动时用环境变量设置初始用户名与密码(默认用户名为 neo4j)。
bash
docker run -d \
--name neo4j-dev \
-p 7474:7474 -p 7687:7687 \
-e NEO4J_AUTH=neo4j/请改成强密码 \
neo4j:5说明:
-d:后台运行。NEO4J_AUTH:格式为用户名/密码。若仅本地学习,可设复杂密码;切勿把真实密码提交到代码仓库。- 镜像标签
5表示 5.x 系列;生产环境建议固定小版本,例如neo4j:5.26,避免latest随时间漂移。
启动成功后:
- 在浏览器打开 http://localhost:7474 进入 Neo4j Browser。
- 使用 Bolt 连接时地址一般为
bolt://localhost:7687。
查看日志:
bash
docker logs -f neo4j-dev停止与删除容器(数据未挂载卷时,删除容器会丢失库内数据):
bash
docker stop neo4j-dev
docker rm neo4j-dev方式二:Docker Compose(推荐:持久化与配置)
在项目目录下新建 docker-compose.yml:
yaml
services:
neo4j:
image: neo4j:5
container_name: neo4j-dev
ports:
- "7474:7474"
- "7687:7687"
environment:
NEO4J_AUTH: neo4j/请改成强密码
volumes:
- neo4j_data:/data
- neo4j_logs:/logs
volumes:
neo4j_data:
neo4j_logs:启动:
bash
docker compose up -d停止(保留数据卷):
bash
docker compose down完全清理数据卷(会删除图数据,慎用):
bash
docker compose down -v常用环境变量(入门)
| 变量 | 作用 |
|---|---|
NEO4J_AUTH | 初始认证,如 neo4j/密码;开发可设 none 关闭认证(不推荐对外暴露时使用) |
NEO4J_server_memory_heap_initial__size | JVM 堆初始大小,如 512M |
NEO4J_server_memory_heap_max__size | JVM 堆上限,如 2G |
更多配置可将 neo4j.conf 挂载进容器,或查阅官方文档中的 Docker 环境变量说明。
Windows 与路径提示
- 使用 Docker Desktop for Windows 时,上述命令在 PowerShell 或 WSL 中均可执行;多行反斜杠
\在 PowerShell 中可改为行尾反引号`,或写成单行。 - 若需把宿主机目录挂载为数据目录,请在 Docker Desktop 中为该目录开启文件共享,并使用合法 Windows 路径写法。
故障排查简要
- 端口被占用:修改映射,例如
-p 17474:7474 -p 17687:7687,浏览器访问http://localhost:17474。 - 无法连接 Bolt:确认防火墙未拦截,且应用连接串端口与映射一致。
- 忘记密码:若未持久化数据,可删容器重建;若已挂载数据卷,需按官方文档重置密码或恢复配置。
延伸阅读
- 官方镜像说明:Neo4j Docker Hub
- 与裸机安装、Desktop 的对比见本站 环境搭建与配置。