Mac Intel 芯片 Docker 一键部署 Neo4j 最新版本教程

🚀 Mac Intel 芯片 Docker 一键部署 Neo4j 最新版本教程

Neo4j 是一款领先的 图数据库 ,广泛应用于 社交网络分析、推荐系统、知识图谱 等场景。本文将手把手教你在 Mac Intel 芯片 上通过 Docker 部署最新版本 Neo4j,并附带一键启动脚本、数据持久化方案和 Python 示例连接代码。


📖 目录

  1. 前提条件

  2. 拉取 Neo4j Docker 镜像

  3. 编写一键管理脚本

  4. 使用脚本管理容器

  5. 常见问题与优化

  6. Neo4j Web 界面访问

  7. Python 示例连接 Neo4j

  8. 总结


1️⃣ 前提条件

  • 已安装 Docker Desktop for Mac (Intel 芯片) 并能正常运行

  • Docker 分配内存建议 ≥ 4GB

  • 基本命令行操作能力

检查 Docker 是否可用:

复制代码
docker --version
docker info

2️⃣ 拉取 Neo4j Docker 镜像

执行以下命令拉取最新版本的 Neo4j:

复制代码
docker pull neo4j:latest

默认端口说明:

  • 7474 → HTTP(Neo4j 浏览器界面)

  • 7687 → Bolt 协议(程序访问)


3️⃣ 编写一键管理脚本

为了方便使用,我们写一个 一键管理脚本,支持启动、停止、重启、删除和查看状态。

新建脚本文件:

复制代码
nano neo4j-docker.sh

粘贴以下内容:

复制代码
#!/bin/bash
# neo4j-docker.sh
# 一键管理 Neo4j Docker 容器 (Mac Intel)

# === 配置项 ===
CONTAINER_NAME="neo4j"
NEO4J_USER="neo4j"
NEO4J_PASSWORD="Neo4j1234"  # ⚠️ 密码必须 >=8位 且包含字母+数字
HTTP_PORT=7474
BOLT_PORT=7687
DATA_DIR="$HOME/neo4j/data"

# === 帮助信息 ===
function usage() {
    echo "用法: $0 [start|stop|restart|remove|status]"
    exit 1
}

# === 启动容器 ===
function start() {
    mkdir -p "$DATA_DIR"
    chmod -R 777 "$DATA_DIR"
    docker run -d \
        --name $CONTAINER_NAME \
        -p $HTTP_PORT:7474 \
        -p $BOLT_PORT:7687 \
        -v $DATA_DIR:/data \
        -e NEO4J_AUTH=$NEO4J_USER/$NEO4J_PASSWORD \
        neo4j:latest
    echo "✅ Neo4j 启动完成 → http://localhost:$HTTP_PORT"
}

# === 停止容器 ===
function stop() {
    docker stop $CONTAINER_NAME
    echo "⏹️ Neo4j 已停止"
}

# === 重启容器 ===
function restart() {
    stop
    start
}

# === 删除容器 ===
function remove() {
    docker rm -f $CONTAINER_NAME
    echo "🗑️ Neo4j 容器已删除"
}

# === 查看状态 ===
function status() {
    docker ps -a | grep $CONTAINER_NAME || echo "ℹ️ 容器不存在"
}

# === 主入口 ===
case "$1" in
    start) start ;;
    stop) stop ;;
    restart) restart ;;
    remove) remove ;;
    status) status ;;
    *) usage ;;
esac

保存并退出。

赋予执行权限:

复制代码
chmod +x neo4j-docker.sh

4️⃣ 使用脚本管理容器

启动 Neo4j:

复制代码
./neo4j-docker.sh start

查看状态:

复制代码
./neo4j-docker.sh status

停止容器:

复制代码
./neo4j-docker.sh stop

删除容器:

复制代码
./neo4j-docker.sh remove

实时查看日志:

复制代码
docker logs -f neo4j

5️⃣ 常见问题与优化

  1. 容器启动即退出

    • 密码不符合 Neo4j 要求(必须 ≥8 位,包含字母和数字)

    • 本地挂载目录权限不足,解决:

      复制代码
      chmod -R 777 ~/neo4j/data
  2. 端口被占用

    修改脚本中的 HTTP_PORTBOLT_PORT,避免冲突。

  3. 数据持久化

    数据会保存在 $HOME/neo4j/data,即使容器删除也不会丢失。


6️⃣ Neo4j Web 界面访问

启动后,浏览器访问:

复制代码
http://localhost:7474

默认用户名:neo4j

密码:脚本中设置的密码(例如 Neo4j1234

你可以在页面中执行 Cypher 查询,例如:

复制代码
CREATE (p:Person {name: "Emilie"}) RETURN p;

7️⃣ Python 示例连接 Neo4j

如果你想用 Python 操作 Neo4j,可以使用 neo4j 官方驱动:

安装依赖:

复制代码
pip install neo4j

示例代码:

复制代码
from neo4j import GraphDatabase

# 配置连接信息
uri = "bolt://localhost:7687"
user = "neo4j"
password = "Neo4j1234"

driver = GraphDatabase.driver(uri, auth=(user, password))

# 写入数据
def create_person(tx, name):
    tx.run("CREATE (p:Person {name: $name})", name=name)

# 查询数据
def get_persons(tx):
    result = tx.run("MATCH (p:Person) RETURN p.name AS name")
    return [record["name"] for record in result]

with driver.session() as session:
    session.write_transaction(create_person, "Alice")
    session.write_transaction(create_person, "Bob")

    persons = session.read_transaction(get_persons)
    print("✅ 数据库中的 Person 节点:", persons)

driver.close()

运行后,你会在数据库中看到 AliceBob 两个节点。


8️⃣ 总结

本文介绍了如何在 Mac Intel 芯片 上通过 Docker 一键部署 Neo4j 最新版本,并提供了:

  • 📝 一键管理脚本(启动/停止/重启/删除/状态)

  • ⚡ 数据持久化和端口配置方法

  • 🐍 Python 驱动示例代码

这样你就可以快速上手 Neo4j,在本地构建自己的 图数据库应用 🚀。


👉 如果你也在用 Neo4j,可以在评论区分享你的应用场景,比如:知识图谱、推荐系统、社交分析等。

相关推荐
我发在否4 小时前
Lua > Mac Mini M4安装openresty
macos·lua·openresty
Lin_Aries_04214 小时前
在 CentOS 9 上安装 Docker 的完整指南
linux·docker·centos
neo_Ggx234 小时前
MySQL数据库备份攻略:从Docker到本地部署
数据库·mysql·docker
qyvlik5 小时前
MacOS 使用 luarocks+wrk+luajit
macos·lua·wrk
脚大江山稳6 小时前
docker使用nginxWebUI配置
java·docker·容器
Digitally6 小时前
如何将视频从 iPhone 转移到 Mac
macos·ios·iphone
startdrift11067 小时前
docker run 命令,不接it选项,run一个centos没有显示在运行,而run一个nginx却可以呢?
nginx·docker·centos
关键帧-Keyframe9 小时前
音视频面试题集锦第 38 期
macos·面试·音视频·cocoa
Winter_Sun灬9 小时前
普通键盘在MacOS上如何使用快捷键
macos·计算机外设·键盘