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

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 解决make: *** [Makefile:719: ext/openssl/openssl.lo] Error 1问题

    解决make: *** [Makefile:719: ext/openssl/openss

    在Ubuntu系统上编译安装PHP7.4.33时遇到OpenSSL库文件缺失的错误,因为Ubuntu22.04的默认OpenSSL版本与PHP不兼容,解决方法是安装低版本的openssl包,并在编译PHP时指定openssl路径
    2024-12-12
  • Linux使用join -a1来合并两个文件

    Linux使用join -a1来合并两个文件

    今天小编就为大家分享一篇关于Linux使用join -a1来合并两个文件,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • Linux下解压查看JAR包的方式

    Linux下解压查看JAR包的方式

    这篇文章主要介绍了Linux下解压查看JAR包的方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • Ubuntu下pycharm无法导入类的解决方法

    Ubuntu下pycharm无法导入类的解决方法

    下面小编就为大家分享一篇Ubuntu下pycharm无法导入类的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-12-12
  • Linux下用dnsmasq做dns cache server的配置方法

    Linux下用dnsmasq做dns cache server的配置方法

    最近国外的服务器本地DNS总是出故障,闪断一会儿都会影响业务。于是在机房里找了两台Server,安装上keepalived和dnsmasq实际本地的DNS缓存
    2014-08-08
  • 服务器端包含、嵌入技术SSI(Server SideInc lude)详解

    服务器端包含、嵌入技术SSI(Server SideInc lude)详解

    这篇文章主要介绍了服务器端包含、嵌入技术SSI(Server SideInc lude)详解,本文包含SSI简介、SSI的语法、SSI的一些常用命令等,SSI最明显的特征是网页的扩展名师.shtml,一些大网站也常用这种技术,需要的朋友可以参考下
    2014-07-07
  • 自制Linux终端锁屏工具

    自制Linux终端锁屏工具

    这篇文章主要为大家详细介绍了如何自制Linux终端锁屏工具,具有一定的实用性,感兴趣的小伙伴们可以参考一下
    2016-08-08
  • centos7 无线网卡驱动的安装及无线网络的配置详解

    centos7 无线网卡驱动的安装及无线网络的配置详解

    本篇文章主要介绍了centos7 无线网卡驱动的安装及无线网络的配置详解,具有一定的参考价值,有兴趣的可以了解一下。
    2017-03-03
  • 如何在Linux中route add命令添加路由(Linux route)

    如何在Linux中route add命令添加路由(Linux route)

    route add命令是用于管理Linux操作系统网络路由,允许用户添加、删除或修改网络路由表中的条目,在Linux系统上添加静态路由,静态路由是手动配置的路由,它指定了数据包从一个网络到达另一个网络的路径,通过添加静态路由,可实现网络分段、转发和通信等
    2024-06-06
  • Xshell远程连接linux详细步骤(小白必备)

    Xshell远程连接linux详细步骤(小白必备)

    本文主要介绍了Xshell远程连接linux详细步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08

最新评论