neo4j 官方文档有说明,使用 neo4j-admin restore / dump 导出和恢复数据库的时候需要停掉数据,否则会报数据库正在使用的错误:
command failed: the database is in use — stop Neo4j and try again
官方文档这样说:
Restore the database graph.db from the backup located in /mnt/backup/graph.db-backup. Note that the database to be restored must be shut down.
先停 neo4j
docker stop neo4j
启动一个带有TTY新的容器,如果使用了数据持久化,需要使用-v参数挂载data目录
docker run \
-v /data/neo4j/data:/data \
-v /data/neo4j/logs:/logs \
-v /data/neo4j/conf:/var/lib/neo4j/conf \
-v /data/neo4j/import:/var/lib/neo4j/import \
--name neo4j3 \
-it \
neo4j /bin/bash
导出数据
/var/lib/neo4j/bin/neo4j-admin dump --database=neo4j --to=/tmp/neo4j_0407.dump
从docker 容器内复制数据到容器外宿主机
docker cp neo4j3:/tmp/neo4j_0407.dump .
从 容器外宿主机复制数据到docker 容器内
docker cp /tmp/neo4j_0407.dump neo4j:/tmp/
进入docker内导入数据
/var/lib/neo4j/bin/neo4j-admin load --from=/tmp/neo4j_0407.dump --database=neo4j --force
文章参考: https://www.cnblogs.com/rockcode777/p/12867958.html