Skip to content

使用 Docker 安装 Neo4j

本教程介绍在已安装 Docker 的前提下,用容器快速运行 Neo4j(社区版镜像)。适用于 Windows、macOS 与 Linux。

前置条件

  • 已安装 Docker EngineDocker 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__sizeJVM 堆初始大小,如 512M
NEO4J_server_memory_heap_max__sizeJVM 堆上限,如 2G

更多配置可将 neo4j.conf 挂载进容器,或查阅官方文档中的 Docker 环境变量说明。

Windows 与路径提示

  • 使用 Docker Desktop for Windows 时,上述命令在 PowerShellWSL 中均可执行;多行反斜杠 \ 在 PowerShell 中可改为行尾反引号 `,或写成单行。
  • 若需把宿主机目录挂载为数据目录,请在 Docker Desktop 中为该目录开启文件共享,并使用合法 Windows 路径写法。

故障排查简要

  1. 端口被占用:修改映射,例如 -p 17474:7474 -p 17687:7687,浏览器访问 http://localhost:17474
  2. 无法连接 Bolt:确认防火墙未拦截,且应用连接串端口与映射一致。
  3. 忘记密码:若未持久化数据,可删容器重建;若已挂载数据卷,需按官方文档重置密码或恢复配置。

延伸阅读