Docker下如何导入导出neo4j数据

[摘要] 运行在Docker容器中的neo4j数据库,如何使用 neo4j-admin restore|dump 进行导入导出操作?

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-home> bin/neo4j stop
neo4j-home> bin/neo4j-admin restore --from=/mnt/backup/graph.db-backup --database=graph.db --force
neo4j-home> bin/neo4j start

但是问题来了,容器里面entrypoint默认是启动的neo4j的进程:

# ps aux|grep neo4j
1 root      0:01 /sbin/tini -g -- /docker-entrypoint.sh neo4j
7 neo4j     3:16 /usr/lib/jvm/java-1.8-openjdk/jre/bin/java -cp /var/lib/neo4j/plugins:/var/lib/neo4j/conf:/var/lib/neo4j/lib/*:/var/lib/neo4j/plugins/* -server -Xms512M -Xmx512M -XX:+UseG1GC -XX:-OmitStackTraceInFastThrow -XX:+AlwaysPreTouch -XX:+UnlockExperimentalVMOptions -XX:+TrustFinalNonStaticFields -XX:+DisableExplicitGC -Djdk.tls.ephemeralDHKeySize=2048 -Djdk.tls.rejectClientInitiatedRenegotiation=true -Dunsupported.dbms.udc.source=tarball -Dfile.encoding=UTF-8 org.neo4j.server.CommunityEntryPoint --home-dir=/var/lib/neo4j --config-dir=/var/lib/neo4j/conf

现在进入容器shudown的话,neo4j容器会停掉(docker-run)或者重启数据库(docker-compose),所以这里采用的迂回的方法:

(1)停掉neo4j容器

docker stop neo4j-container

(2)使用docker run启动一个带有TTY新的容器,如果使用了数据持久化,需要使用-v参数带上volume

docker run \
-v /data/deploy/nlpdemo/neo4j-data-persistence:/data \
--name neo4j-container-dump \
-it \
neo4j /bin/bash

(3)导入或者导出数据库

#dump
neo4j-admin dump --database=graph.db --to=/backups/graph.db/2019-01-10.dump

#restore
neo4j-admin load --from=/backups/graph.db/2019-01-10.dump --database=graph.db --force

(4)关闭临时容器,重启原容器

u2

Related Posts

rancher v2.x 初体验

rancher v2x

Read more

sqlalchemy.exc.TimeoutError: QueuePool limit of size 5 overflow 10 reached

Python3 + Flask + mysql5.7搭建的w…

Read more

You Missed

Google 用 AI「杀死」Google

  • u2
  • 6月 22, 2026
  • 20 views

封禁Fable 5:当美国政府成为AI的”守门人”

  • u2
  • 6月 21, 2026
  • 30 views

27亿美元没留住的人,奥特曼等了十年

  • u2
  • 6月 19, 2026
  • 37 views

OpenAI Codex 发布角色插件:当AI开始理解「分析师」和「销售」是两种不同的物种

  • u2
  • 6月 15, 2026
  • 70 views
OpenAI Codex 发布角色插件:当AI开始理解「分析师」和「销售」是两种不同的物种

TraceClaw:企业级透明可控智能体,全行为审计+零信任执行

  • u2
  • 6月 13, 2026
  • 60 views

一年前让英伟达蒸发6000亿美元的中国AI,现在被黄仁勋请上了CES的PPT

  • u2
  • 6月 7, 2026
  • 97 views