在 Docker 中开始使用 Neo4j
Docker 可从 https://www.docker.com/get-started 下载,适用于 macOS、Windows 和 Linux 操作系统。DockerHub 托管了一个 官方 Neo4j 镜像,它为各种版本提供了一个标准的、可立即运行的 Neo4j 社区版和企业版的软件包。
获取 Neo4j 镜像
Neo4j 镜像的变体根据社区版/企业版和用作基础镜像的操作系统进行标记。
Neo4j 版本
社区版和企业版均提供标签。特定版本的企业版标签在版本号后带有 -enterprise 后缀,例如:neo4j:5.25.1-enterprise。社区版标签没有后缀,例如 neo4j:5.25.1。最新的 Neo4j 企业版发布版可作为 neo4j:enterprise 获取。
- Neo4j 企业版许可
-
要使用 Neo4j 企业版,您必须通过设置环境变量
NEO4J_ACCEPT_LICENSE_AGREEMENT=yes来接受许可协议。
© Network Engine for Objects in Lund AB. 2023. 保留所有权利。未经 Neo4j, Inc. 或其关联公司的适当商业许可,不得使用本软件。
可以通过表单 联系 Neo4j 发送电子邮件咨询。
更多信息请访问:https://neo4j.ac.cn/licensing/
基础操作系统
Neo4j 镜像提供 debian:bullseye-slim 或 redhat/ubi9-minimal:latest 作为基础镜像。默认值为 debian:bullseye-slim。
|
如果您不确定使用哪个基础镜像,或者没有偏好,只需使用默认的 |
要指定使用哪个基础镜像,镜像标签可以选择带有 -bullseye 或 -ubi9 后缀。
例如
neo4j:5.25.1-bullseye # debian 11 community
neo4j:5.25.1-enterprise-bullseye # debian 11 enterprise
neo4j:5.25.1-ubi9 # redhat UBI9 community
neo4j:5.25.1-enterprise-ubi9 # redhat UBI9 enterprise
neo4j:5.25.1 # debian 11 community
neo4j:5.25.1-enterprise # debian 11 enterprise
| 标签后缀 | 基础镜像 |
|---|---|
|
|
|
|
未指定 |
|
|
Red Hat UBI9 变体镜像仅从 5.17.0 及更高版本开始提供。对于更早的 Neo4j 版本,请不要指定基础镜像。 |
使用 Neo4j Docker 镜像
您可以使用以下命令启动 Neo4j 容器。请注意,此 Neo4j 容器不会在重启之间持久保存数据,并且将使用默认的用户名/密码。
docker run \
--restart always \
--publish=7474:7474 --publish=7687:7687 \
neo4j:5.25.1
您可以通过在 Web 浏览器中打开 https://:7474/(Neo4j 的浏览器界面)来试用您的 Neo4j 容器。默认情况下,Neo4j 需要身份验证,并在首次连接时提示您使用 neo4j/neo4j 的用户名/密码登录。然后会提示您设置新密码。
|
默认的最小密码长度为 8 个字符。 使用 |
以下部分提供了有关如何设置初始密码、配置 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:5.25.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:5.25.1
或者,您可以通过将 NEO4J_AUTH 指定为 none 来禁用身份验证。
--env NEO4J_AUTH=none
请注意,目前无法从 neo4j 更改初始用户名。
|
设置 如果您已装载包含现有数据库的 /data 卷,设置 |
有用的 docker run 选项
此表列出了一些可用的选项。
| 选项 | 描述 | 示例 |
|---|---|---|
|
为您的容器命名以避免使用通用 ID。 |
|
|
指定要公开的容器端口。 |
|
|
分离容器以便在后台运行。 |
|
|
绑定装载卷。 |
|
|
将配置设置为 Neo4j 数据库的环境变量。 |
|
|
以给定用户身份运行 neo4j,而不是 |
|
|
控制 Neo4j 容器在退出时或 Docker 重启时是否自动启动。 |
|
|
输出 |
|
|
如果您不再希望容器在机器启动时自动启动,可以使用标志 |
Neo4j Docker 镜像的离线安装
Docker 提供了 docker save 命令,用于将镜像下载到 .tar 包中,以便可以离线使用,或者传输到没有互联网访问的机器上。
这是一个将 neo4j:5.25.1 镜像保存到 .tar 文件中的示例命令。
docker save -o neo4j-5.25.1.tar neo4j:5.25.1
要从 docker save 创建的 .tar 文件加载 Docker 镜像,请使用 docker load 命令。例如
docker load --input neo4j-5.25.1.tar
有关使用 docker save 和 docker load 命令的完整说明,请参阅