linux docker neo4j导出方式(windows导入)
更新时间:2025年08月25日 08:41:19 作者:Likefr
在Docker中无法直接停止Neo4j服务备份,需创建临时容器并挂载宿主机/backup目录,确保版本一致及权限设置,导出文件后退出容器即可在宿主机备份目录获取数据
由于neo4j导出需要停止服务
但是我在docker部署的neo4j 因此无法停止进程 因为一旦停止则会停止docker容器
导致无法执行命令
使用临时容器解决
version: '3.8'
services:
neo4j:
image: neo4j:5.26.9
container_name: neo4j
restart: unless-stopped
ports:
- "7474:7474" # HTTP接口
- "7687:7687" # Bolt协议
volumes:
- ./data:/data
- ./logs:/logs
- ./plugins:/plugins
- ./import:/var/lib/neo4j/import
- ./backup:/backup
environment:
- NEO4J_server_default__listen__address=0.0.0.0
- NEO4J_server_default__advertised__address=localhost
- NEO4J_dbms_connector_bolt_advertised__address=:7687
- NEO4J_dbms_connector_http_advertised__address=:7474
- NEO4J_PLUGINS=["apoc"]
healthcheck:
test: ["CMD", "wget", "--spider", "-q", "localhost:7474"]
interval: 30s
timeout: 10s
retries: 5
start_period: 60s
volumes:
data:
logs:
plugins:
import:
这是我的编排 重点关注./backup:/backup 因为在临时容器内到处的文件可以直接挂载到宿主机上
1.首先停止服务
docker-compose down
然后自行在你的宿主机上没有backup就创建这个文件夹
给上权限 (这步很重要)!!!
chmod -R 777 ./backup
2.创建临时容器
- 在你的宿主机neo4j执行如下命令 (注意版本要一致)
docker run --rm -it \
-v $(pwd)/data:/data \
-v $(pwd)/backup:/backup \
neo4j:5.26.9 bash
3.导出
neo4j-admin database dump neo4j --to-path=/backup/ --verbose
导出成功后 执行 exit 退出
进入宿主机的backup 就可以看到备份的文件了
windows 导入 注意neo4j版本须一致
- D:\backup 里面放入上面导出的文件
neo4j-admin.bat database load neo4j --from-path=D:\backup --overwrite-destination=true --verbose
Linux 导入
需要先停止容器 docker-compose down 然后在第2步 容器内 执行: neo4j-admin database load neo4j --from-path=/backup/ --overwrite-destination=true --verbose 导入成功后执行 exit; 退出需要重新运行neo4j docker-compose up -d
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Linux下安装Python3和django并配置mysql作为django默认服务器方法
下面小编就为大家带来一篇Linux下安装Python3和django并配置mysql作为django默认服务器方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2016-10-10
linux使用nginx部署ssl证书,将http升级为https实现方式
本文详细介绍了在CentOS Stream 8上使用Nginx部署Vue和React项目的步骤,包括下载SSL证书、上传证书、安装SSL模块、验证安装以及配置nginx.conf文件2026-03-03


最新评论