🚀 Mac Intel 芯片 Docker 一键部署 Neo4j 最新版本教程
Neo4j 是一款领先的 图数据库,广泛应用于 社交网络分析、推荐系统、知识图谱 等场景。本文将手把手教你在 Mac Intel 芯片 上通过 Docker 部署最新版本 Neo4j,并附带一键启动脚本、数据持久化方案和 Python 示例连接代码。
📖 目录
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️⃣ 常见问题与优化
容器启动即退出
密码不符合 Neo4j 要求(必须 ≥8 位,包含字母和数字)
本地挂载目录权限不足,解决:
chmod -R 777 ~/neo4j/data
端口被占用
修改脚本中的HTTP_PORT
和BOLT_PORT
,避免冲突。数据持久化
数据会保存在$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()
运行后,你会在数据库中看到 Alice
和 Bob
两个节点。
8️⃣ 总结
本文介绍了如何在 Mac Intel 芯片 上通过 Docker 一键部署 Neo4j 最新版本,并提供了:
📝 一键管理脚本(启动/停止/重启/删除/状态)
⚡ 数据持久化和端口配置方法
🐍 Python 驱动示例代码
这样你就可以快速上手 Neo4j,在本地构建自己的 图数据库应用 🚀。
👉 如果你也在用 Neo4j,可以在评论区分享你的应用场景,比如:知识图谱、推荐系统、社交分析等。