本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
Neo4j 是一个高性能的图形数据库,具备成熟稳健数据库的所有特性,如友好的查询语言和ACID事务支持。Bitnami Neo4j 镜像提供了一个预先配置、随时可用的 Neo4j 部署方案,适用于开发和生产环境。
Neo4j 官方网站
商标说明:本软件列表由 Bitnami 打包。所提及的 respective 商标归各自公司所有,使用这些商标并不意味着任何关联或认可。
docker run --name neo4j bitnami/neo4j:latest
默认凭据和可用配置选项详见环境变量部分。
推荐通过 Docker Hub Registry 获取 Bitnami Neo4j Docker 镜像:
docker pull bitnami/neo4j:latest
如需使用特定版本,可拉取带版本标签的镜像。可在 Docker Hub Registry 查看可用版本列表。
docker pull bitnami/neo4j:[TAG]
也可通过克隆仓库自行构建镜像:
git clone [***] cd bitnami/APP/VERSION/OPERATING-SYSTEM docker build -t bitnami/APP:latest .
请将上述命令中的
APP、VERSION和OPERATING-SYSTEM占位符替换为正确的值。
docker run -d \ --name neo4j \ -p 7474:7474 \ -p 7473:7473 \ -p 7687:7687 \ -e NEO4J_PASSWORD=mysecretpassword \ -v /path/to/neo4j-data:/bitnami \ bitnami/neo4j:latest
创建 docker-compose.yml 文件:
version: '2' services: neo4j: image: bitnami/neo4j:latest ports: - 7474:7474 - 7473:7473 - 7687:7687 environment: - NEO4J_PASSWORD=mysecretpassword - NEO4J_HTTPS_ENABLED=true volumes: - neo4j_data:/bitnami networks: - neo4j_network networks: neo4j_network: driver: bridge volumes: neo4j_data: driver: local
启动服务:
docker-compose up -d
若删除容器,所有数据和配置将丢失。为避免数据丢失,应挂载卷以持久化数据,即使容器被删除后数据也能保留。
应在 /bitnami 路径挂载卷。以下示例定义了一个名为 neo4j_data 的 Docker 卷,Neo4j 应用状态将在此卷中持久保存。
docker run -v /path/to/neo4j-persistence:/bitnami bitnami/neo4j:latest
修改 docker-compose.yml 文件:
neo4j: ... volumes: - /path/to/neo4j-persistence:/bitnami ...
注意:由于这是一个非 root 容器,挂载的文件和目录必须对 UID
1001具有适当的权限。
利用 Docker 容器网络,一个容器中运行的服务可以轻松被其他应用容器访问,反之亦然。连接到同一网络的容器可以使用容器名称作为主机名进行通信。
步骤 1:创建网络
docker network create neo4j-network --driver bridge
步骤 2:在网络中启动 Neo4j 容器
使用 --network <NETWORK> 参数将容器附加到 neo4j-network 网络:
docker run --name neo4j-node1 --network neo4j-network bitnami/neo4j:latest
步骤 3:运行其他容器
在 docker run 命令中使用相同的 --network NETWORK 标志启动其他容器。如果为容器设置了名称,则可以在网络中用作主机名。
Docker Compose 默认会自动设置一个新网络并将所有部署的服务附加到该网络。以下是显式定义网络的示例:
version: '2' networks: neo4j-network: driver: bridge services: neo4j: image: bitnami/neo4j:latest networks: - neo4j-network ports: - 7474:7474 - 7473:7473 - 7687:7687
启动容器:
docker-compose up -d
| 名称 | 描述 | 默认值 |
|---|---|---|
NEO4J_HOST | 用于配置 Neo4j 广播地址的主机名,可以是 IP 或域名 | nil |
NEO4J_BIND_ADDRESS | Neo4j 绑定地址 | 0.0.0.0 |
NEO4J_ALLOW_UPGRADE | 允许自动模式升级 | true |
NEO4J_PASSWORD | Neo4j 密码 | bitnami1 |
NEO4J_APOC_IMPORT_FILE_ENABLED | 允许使用 apoc 库导入文件 | true |
NEO4J_APOC_IMPORT_FILE_USE_NEO4J_CONFIG | 对 apoc 库使用 neo4j 配置 | false |
NEO4J_BOLT_PORT_NUMBER | Bolt 协议使用的端口 | 7687 |
NEO4J_HTTP_PORT_NUMBER | HTTP 协议使用的端口 | 7474 |
NEO4J_HTTPS_PORT_NUMBER | HTTPS 协议使用的端口 | 7473 |
NEO4J_BOLT_ADVERTISED_PORT_NUMBER | Bolt 协议的广播端口 | $NEO4J_BOLT_PORT_NUMBER |
NEO4J_HTTP_ADVERTISED_PORT_NUMBER | HTTP 协议的广播端口 | $NEO4J_HTTP_PORT_NUMBER |
NEO4J_HTTPS_ADVERTISED_PORT_NUMBER | HTTPS 协议的广播端口 | $NEO4J_HTTPS_PORT_NUMBER |
NEO4J_HTTPS_ENABLED | 启用 HTTPS 连接器 | false |
NEO4J_BOLT_TLS_LEVEL | Bolt 连接器的加密级别,允许值:REQUIRED, OPTIONAL, DISABLED | DISABLED |
| 名称 | 描述 | 值 |
|---|---|---|
NEO4J_BASE_DIR | Neo4j 安装目录 | ${BITNAMI_ROOT_DIR}/neo4j |
NEO4J_VOLUME_DIR | Neo4j 卷目录 | /bitnami/neo4j |
NEO4J_DATA_DIR | Neo4j 数据目录 | $NEO4J_VOLUME_DIR/data |
NEO4J_RUN_DIR | Neo4j 临时目录 | ${NEO4J_BASE_DIR}/run |
NEO4J_LOGS_DIR | Neo4j 日志目录 | ${NEO4J_BASE_DIR}/logs |
NEO4J_LOG_FILE | Neo4j 日志文件 | ${NEO4J_LOGS_DIR}/neo4j.log |
NEO4J_PID_FILE | Neo4j PID 文件 | ${NEO4J_RUN_DIR}/neo4j.pid |
NEO4J_CONF_DIR | Neo4j 配置目录 | ${NEO4J_BASE_DIR}/conf |
NEO4J_DEFAULT_CONF_DIR | Neo4j 默认配置目录 | ${NEO4J_BASE_DIR}/conf.default |
NEO4J_PLUGINS_DIR | Neo4j 插件目录 | ${NEO4J_BASE_DIR}/plugins |
NEO4J_METRICS_DIR | Neo4j 指标目录 | ${NEO4J_VOLUME_DIR}/metrics |
NEO4J_CERTIFICATES_DIR | Neo4j 证书目录 | ${NEO4J_VOLUME_DIR}/certificates |
NEO4J_IMPORT_DIR | Neo4j 导入目录 | ${NEO4J_VOLUME_DIR}/import |
NEO4J_MOUNTED_CONF_DIR | Neo4j 挂载配置目录 | ${NEO4J_VOLUME_DIR}/conf/ |
NEO4J_MOUNTED_PLUGINS_DIR | Neo4j 挂载插件目录 | ${NEO4J_VOLUME_DIR}/plugins/ |
NEO4J_INITSCRIPTS_DIR | Neo4j 初始化脚本目录 | /docker-entrypoint-initdb.d |
NEO4J_CONF_FILE | Neo4j 配置文件 | ${NEO4J_CONF_DIR}/neo4j.conf |
NEO4J_APOC_CONF_FILE | Neo4j APOC 配置文件 | ${NEO4J_CONF_DIR}/apoc.conf |
NEO4J_DAEMON_USER | Neo4j 系统用户 | neo4j |
NEO4J_DAEMON_GROUP | Neo4j 系统组 | neo4j |
JAVA_HOME | Java 安装目录 | ${BITNAMI_ROOT_DIR}/java |
启动 Neo4j 镜像时,可以通过 Docker Compose 文件或 docker run 命令行传递一个或多个环境变量来调整实例配置。
使用 Docker Compose 指定环境变量
修改 docker-compose.yml 文件:
neo4j: ... environment: - NEO4J_BOLT_PORT_NUMBER=7777 ...
使用 Docker 命令行指定环境变量
docker run -d -e NEO4J_BOLT_PORT_NUMBER=7777 --name neo4j bitnami/neo4j:latest
要加载自己的配置文件,需要将其挂载到容器中 /bitnami/neo4j/conf 目录。
使用 Docker Compose
修改 docker-compose.yml 文件:
neo4j: ... volumes: - /local/path/to/your/confDir:/bitnami/neo4j/conf ...
要添加额外的插件,需要将其挂载到容器中 /bitnami/neo4j/plugins 目录。
使用 Docker Compose 添加插件
修改 docker-compose.yml 文件:
neo4j: ... volumes: - /local/path/to/your/plugins:/bitnami/neo4j/plugins ...
Bitnami 安全镜像提供额外功能和设置来配置具有 FIPS 功能的容器。可配置以下环境变量:
OPENSSL_FIPS:OpenSSL 是否运行在 FIPS 模式。值:yes(默认)、no。Bitnami neo4j Docker 镜像将容器日志发送到 stdout。查看日志:
docker logs neo4j
或使用 Docker Compose:
docker-compose logs neo4j
如果希望以不同方式处理容器日志,可以使用 --log-driver 选项配置容器日志驱动程序。默认配置下,Docker 使用 json-file 驱动程序。
Bitnami 会尽快提供包含安全补丁的最新版本 neo4j。建议按照以下步骤升级容器:
步骤 1:获取更新的镜像
docker pull bitnami/neo4j:latest
如果使用 Docker Compose,将 image 属性的值更新为 bitnami/neo4j:latest。
步骤 2:停止并备份当前运行的容器
使用以下命令停止当前运行的容器:
docker stop neo4j
或使用 Docker Compose:
docker-compose stop neo4j
接下来,使用以下命令对持久卷 /path/to/neo4j-persistence 进行快照:
rsync -a /path/to/neo4j-persistence /path/to/neo4j-persistence.bkp.$(date +%Y%m%d-%H.%M.%S)
如果升级失败,可以使用此快照恢复数据库状态。
步骤 3:删除当前运行的容器
docker rm -v neo4j
或使用 Docker Compose:
docker-compose rm -v neo4j
步骤 4:运行新镜像
从新镜像重新创建容器,必要时恢复备份:
docker run --name neo4j bitnami/neo4j:latest
或使用 Docker Compose:
docker-compose up neo4j
减小容器大小。配置逻辑现在基于 rootfs/ 文件夹中的 Bash 脚本。此外,容器现在默认启用了最新稳定版本的 apoc 库。
配置文件不再持久化,因此建议删除 /bitnami/neo4j/conf/ 中的持久化文件,以避免潜在的升级问题。
root 用户身份运行,Neo4j 守护进程以 neo4j 用户身份启动。从现在开始,容器和 Neo4j 守护进程都以用户 1001 运行。因此,数据目录必须可由该用户写入。可以通过将 Dockerfile 中的 USER 1001 更改为 USER root 来恢复此行为。自 2025 年 8 月 28 日起,Bitnami 将改进其公共目录,在新的 Bitnami Secure Images 计划下提供精选的强化、安全聚焦的镜像。作为此过渡的一部分:

免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429