Docker 安装 Neo4j 保姆级教程

Docker 安装 Neo4j 保姆级教程

本教程适用于零基础用户,详细讲解如何在 Windows 或 Linux 环境下通过 Docker 安装并配置 Neo4j 图数据库。

Neo4j 官方 Docker 文档

1. 环境准备

2. 创建挂载目录

在宿主机上新建以下目录,用于数据持久化和配置挂载(以 Linux 为例,Windows 可用资源管理器新建文件夹):

bash 复制代码
mkdir -p /home/neo4j/data /home/neo4j/logs /home/neo4j/conf /home/neo4j/import /home/neo4j/plugins

Windows 示例:

  • 新建 datalogsconfimportplugins 这五个文件夹。

3. 拉取 Neo4j 镜像

以最新版为例(你也可根据需要指定版本):

bash 复制代码
docker pull neo4j:latest

4. 启动 Neo4j 容器

  • Linux Docker run :
bash 复制代码
docker run -d --name neo4j \
  -p 7474:7474 -p 7687:7687 \
  -v /home/neo4j/data:/data \
  -v /home/neo4j/logs:/logs \
  -v /home/neo4j/conf:/var/lib/neo4j/conf \
  -v /home/neo4j/import:/var/lib/neo4j/import \
  -v /home/neo4j/plugins:/var/lib/neo4j/plugins \
  -e NEO4J_AUTH=neo4j/your_secure_password
  neo4j:latest
  • Windows Docker run :
powershell 复制代码
docker run -d --name neo4j ^
  -p 7474:7474 -p 7687:7687 ^
  -v E:/docker/neo4j/data:/data ^
  -v E:/docker/neo4j/logs:/logs ^
  -v E:/docker/neo4j/conf:/var/lib/neo4j/conf ^
  -v E:/docker/neo4j/import:/var/lib/neo4j/import ^
  -v E:/docker/neo4j/plugins:/var/lib/neo4j/plugins ^
  -e NEO4J_AUTH=neo4j/neo4j@1234 ^
  neo4j:latest

注意:NEO4J_AUTH 的格式必须为 用户名/密码,如 neo4j/123456,不能只写密码,否则会报错。并且密码要超过8个字符,不然也无法启动

5. 访问 Neo4j

浏览器访问 http://localhost:7474,输入用户名 neo4j 和你设置的密码。

6. 配置远程访问(可选)

如需远程访问,需修改 neo4j.conf 文件:

  • 编辑挂载到宿主机的 conf/neo4j.conf 文件,添加或修改如下内容:
bash 复制代码
# Neo4j 4以下版本追加以下配置
dbms.connector.bolt.listen_address=0.0.0.0:7687
dbms.connector.http.listen_address=0.0.0.0:7474

如果报错:

bash 复制代码
E:\docker\neo4j>docker logs -f neo4j
Failed to read config /var/lib/neo4j/conf/neo4j.conf: Unrecognized setting. No declared setting with name: dbms.connectors.default_listen_address. Cleanup the config or disable 'server.config.strict_validation.enabled' to continue.
Run with '--verbose' for a more detailed error message.

从 Neo4j 4.x 开始,配置项已经发生较大变更。而你提供的配置中混用了旧版本(如 3.x)和新版本(如 4.x/5.x)的配置项。

bash 复制代码
server.memory.pagecache.size=512M

server.default_listen_address=0.0.0.0
# 设置 Bolt 和 HTTP 端口
server.bolt.listen_address=:7687
server.http.listen_address=:7474

server.directories.logs=/logs
  • 保存后重启容器:
bash 复制代码
docker restart neo4j

7. 常见问题

  • 端口被占用 :修改 -p 参数映射到未被占用的端口。
  • 数据持久化 :务必挂载 /data 目录,否则容器删除后数据会丢失。
  • 防火墙问题:确保 7474、7687 端口已放行。
  • 首次登录强制修改密码:首次登录后需修改密码。
相关推荐
风曦Kisaki17 分钟前
Kubernetes(K8s)笔记Day03: Pod命名空间,标签,Pod 的调度,污点与容忍度,Pod 常见状态和重启策略,Pod 生命周期
linux·运维·笔记·docker·云原生·容器·kubernetes
张忠琳23 分钟前
【NVIDIA】NVIDIA k8s-device-plugin v0.19.3 资源管理器模块深度分析之三
云原生·容器·架构·kubernetes·nvidia
毛驴赶鹿2 小时前
低配置服务器怎么搭建监控?Komari Docker部署与公网访问完整教程
运维·服务器·docker
Chengbei112 小时前
云安全漏洞挖掘SKILL、一站式云漏洞挖掘工具,支持S3爆破、IMDS探测、K8s检测与AK/SK权限利用
前端·人工智能·网络安全·云原生·容器·kubernetes·系统安全
Ai拆代码的曹操3 小时前
K8s 调度器 predicate 阶段揭秘:为什么你的 Pod 总是堆在同一台机器
后端·容器
Ai拆代码的曹操3 小时前
手摸手排查:Pod CrashLoopBackOff 日志丢失问题,3 层兜底方案
后端·容器
张忠琳4 小时前
【NVIDIA】k8s-device-plugin v0.19.3 — CDI / MIG / vGPU 模块超深度代码分析之五
云原生·容器·架构·kubernetes·nvidia
冷莫溪4 小时前
Docker——3.Harbor 核心架构与原理详解
docker·容器·架构
Allen_LVyingbo7 小时前
基于结构化电子病历的临床风险预测模型构建与大模型协同优化
python·安全·机器学习·docker·vim·健康医疗
IT二叔17 小时前
Kubernetes(K8s)-01-简介
云原生·容器·kubernetes