Docker 版 Neo4j 入门

Docker 可从 https://dockerd.com.cn/get-started 下载,适用于 macOS、Windows 和 Linux 操作系统。DockerHub 托管了一个 官方 Neo4j 镜像,该镜像提供了标准、即用型的 Neo4j 社区版和企业版软件包,支持多种版本。

获取 Neo4j 镜像

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

Neo4j 版本

社区版和企业版均有标签可用。特定版本的企业版标签在版本号后带有 -enterprise 后缀,例如:neo4j:2025.05.0-enterprise。社区版标签没有后缀,例如 neo4j:2025.05.0。最新的 Neo4j 企业版发布版本可用 neo4j:enterprise 标记。

Neo4j 企业版许可

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

© 隆德对象网络引擎有限公司。2023。保留所有权利。未经 Neo4j, Inc. 或其关联公司适当的商业许可,禁止使用本软件。

电子邮件咨询可通过表单 联系 Neo4j 发送。

更多信息可在此处获取:https://neo4j.ac.cn/licensing/

基础操作系统

Neo4j 镜像可使用 debian:bullseye-slimredhat/ubi9-minimal:latest 作为基础镜像。默认是 debian:bullseye-slim

如果您不确定使用哪个基础镜像或没有偏好,只需使用默认的 neo4j:2025.05.0

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

例如

neo4j:2025.05.0-bullseye            # debian 11 community
neo4j:2025.05.0-enterprise-bullseye # debian 11 enterprise
neo4j:2025.05.0-ubi9              # redhat UBI9 community
neo4j:2025.05.0-enterprise-ubi9   # redhat UBI9 enterprise
neo4j:2025.05.0                   # debian 11 community
neo4j:2025.05.0-enterprise        # debian 11 enterprise
表 1. 基础镜像和对应的标签后缀。
标签后缀 基础镜像

-bullseye

debian:bullseye-slim

-ubi9

redhat/ubi9-minimal:latest

未指定

debian:bullseye-slim

Red Hat UBI9 变体镜像仅从 5.17.0 版本及更高版本提供。对于更早的 Neo4j 版本,请不要指定基础镜像。

使用 Neo4j Docker 镜像

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

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

您可以在 Web 浏览器中打开 http://localhost: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:2025.05.0

您想要挂载的文件夹必须在启动 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:2025.05.0

或者,您可以通过将 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:2025.05.0 镜像保存到 .tar 文件中的示例命令

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

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

docker load --input neo4j-2025.05.0.tar

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

© . All rights reserved.