Docker 中的 Neo4j 入门

您可以从 https://www.docker.com/get-started/ 下载适用于 macOS、Windows 和 Linux 操作系统的 Docker。DockerHub 托管了一个官方 Neo4j 镜像,该镜像为各种版本的 Neo4j 社区版(Community Edition)和企业版(Enterprise Edition)提供了标准、即开即用的软件包。

获取 Neo4j 镜像

Neo4j 镜像的变体根据社区版/企业版以及作为基础镜像的操作系统进行标记(Tag)。

Neo4j 版本

社区版和企业版均提供对应的标签。特定版本的企业版标签在版本号后带有 -enterprise 后缀,例如:neo4j:2026.03.1-enterprise。社区版标签没有后缀,例如 neo4j:2026.03.1。最新的 Neo4j 企业版发行版可通过 neo4j:enterprise 获取。

Neo4j 企业版许可证

要使用 Neo4j 企业版,您必须通过设置环境变量 NEO4J_ACCEPT_LICENSE_AGREEMENT=yes 来接受许可协议。

© Network Engine for Objects in Lund AB. 2023. 保留所有权利。在没有 Neo4j, Inc. 或其关联公司的正式商业许可的情况下,禁止使用此软件。

如有咨询,请通过 联系 Neo4j 表格发送电子邮件。

更多信息请访问:/licensing/

基础操作系统

Neo4j 镜像可提供基于 debian:trixie-slimdebian:bullseye-slimredhat/ubi10-minimal:latestredhat/ubi9-minimal:latest 的镜像。从 2026.01 版本开始,默认为 debian:trixie-slim(已从 debian:bullseye-slim 更新)。

如果您不确定使用哪个基础镜像或没有偏好,请直接使用默认的 neo4j:2026.03.1

要指定使用哪个基础镜像,镜像标签可以选择性地带有 -trixie-bullseye-ubi10-ubi9 后缀。

例如:

neo4j:2026.03.1-trixie              # debian 13 community
neo4j:2026.03.1-enterprise-bullseye # debian 11 enterprise
neo4j:2026.03.1-ubi9               # redhat UBI9 community
neo4j:2026.03.1-enterprise-ubi10   # redhat UBI10 enterprise
neo4j:2026.03.1                    # debian 13 community
neo4j:2026.03.1-enterprise         # debian 13 enterprise
表 1. 基础镜像及其对应的标签后缀。
标签后缀 基础镜像

-trixie

debian:trixie-slim

-bullseye

debian:bullseye-slim

-ubi10

redhat/ubi10-minimal:latest

-ubi9

redhat/ubi9-minimal:latest

未指定

debian:trixie-slim

Red Hat UBI9 变体镜像仅从 5.17.0 版本开始提供。Red Hat UBI10 变体镜像仅从 2026.01.0 版本开始提供。Debian 13 变体镜像仅从 2026.01.0 版本开始提供。对于更早的 Neo4j 版本,请勿指定基础镜像。

使用 Neo4j Docker 镜像

您可以使用以下命令启动 Neo4j 容器。请注意,此 Neo4j 容器在重启后不会保留数据,并且将使用默认的用户名/密码。

docker run \
    --restart always \
    --publish=7474:7474 --publish=7687:7687 \
    neo4j:2026.03.1

您可以通过在浏览器中打开 https://:7474/(Neo4j 的浏览器界面)来测试您的 Neo4j 容器。默认情况下,Neo4j 需要身份验证,并在首次连接时提示您使用 neo4j/neo4j 的用户名/密码登录。随后,系统会提示您设置一个新密码。

默认的最小密码长度为 8 个字符。

使用 dbms.security.auth_minimum_password_length 配置项来更改默认最小值。

以下部分提供了有关如何设置初始密码、配置 Neo4j 以在重启后保留数据以及使用 Neo4j Docker 镜像的更多信息。

重启后保留数据

--volume 选项将本地文件夹映射到容器,您可以在其中保留重启后的数据。要在容器之间持久化数据库内容,请在启动容器时将卷挂载到 /data 目录。

docker run \
    --restart always \
    --publish=7474:7474 --publish=7687:7687 \
    --env NEO4J_AUTH=neo4j/your_password \
    --volume=/path/to/your/data:/data \
    neo4j:2026.03.1

您想要挂载的文件夹必须在启动 Docker 之前存在,否则 Neo4j 会因权限错误而启动失败。

有关挂载卷的更多信息,请参阅 使用 Docker 卷持久化数据

使用 NEO4J_AUTH 设置初始密码

在 Docker 容器中使用 Neo4j 时,您可以直接在运行指令中指定 NEO4J_AUTH 来设置数据库的初始密码。

docker run \
    --restart always \
    --publish=7474:7474 --publish=7687:7687 \
    --env NEO4J_AUTH=neo4j/your_password \
    neo4j:2026.03.1

或者,您可以将 NEO4J_AUTH 设置为 none 以禁用身份验证。

--env NEO4J_AUTH=none

请注意,目前无法更改 neo4j 的初始用户名。

设置 NEO4J_AUTH 不会覆盖现有的身份验证。

如果您已挂载包含现有数据库的 /data 卷,则设置 NEO4J_AUTH 将无效,因为该数据库已经配置了身份验证。Neo4j Docker 服务将启动,但您需要使用与该数据库关联的用户名和密码才能登录。

有用的 docker run 选项

下表列出了一些可用选项:

表 2. docker run 的选项
选项 描述 示例

--name

为您的容器命名,以避免使用通用的 ID。

docker run --name myneo4j neo4j

-p

指定要公开的容器端口。

docker run -p7687:7687 neo4j

-d

在后台运行容器(分离模式)。

docker run -d neo4j

-v

绑定挂载一个卷。

docker run -v $HOME/neo4j/data:/data neo4j

--env

将配置设置为 Neo4j 数据库的环境变量。

docker run --env NEO4J_AUTH=neo4j/your_password neo4j

--user

以指定用户身份运行 neo4j,而不是以 neo4j 用户身份。

docker run --user="$(id -u):$(id -g)" neo4j

--restart

控制 Neo4j 容器在退出时或 Docker 重启时是否自动启动。

docker run --restart always

--help

输出 docker run 的选项完整列表。

docker run --help

--restart always 选项设置 Neo4j 容器(和 Neo4j)在 Docker 守护进程重启时自动重启。

如果您不再希望容器在机器启动时自动启动,可以使用 no 标志禁用此设置,例如:docker update --restart=no <containerID>
有关 Docker 重启策略的更多信息,请参阅官方 Docker 文档

Neo4j Docker 镜像的离线安装

Docker 提供了 docker save 命令,用于将镜像下载为 .tar 包,以便在离线环境中使用,或传输到无法访问互联网的机器上。

这是一个将 neo4j:2026.03.1 镜像保存到 .tar 文件的示例命令。

docker save -o neo4j-2026.03.1.tar neo4j:2026.03.1

要从 docker save 创建的 .tar 文件加载 Docker 镜像,请使用 docker load 命令。例如:

docker load --input neo4j-2026.03.1.tar

有关使用 docker savedocker load 命令的完整说明,请参阅: