docker中neo4j中导入dump文件的方案

914 阅读1分钟

1. 背景

由于docker环境下的特殊性并且dump需要在neo4j停止的情况下才能进行,但neo4j进程停止后,docker容器会退出,所以本文给出解决方案

2. dump文件准备,并停止neo4j服务容器

准备好要导入的dump文件,然后记录在某个文件夹的目录

3. 临时容器准备

注意将dump文件放在/home/docker/neo4j/data的子目录下

docker run \

--publish=7474:7474 --publish=7687:7687 \

--volume=/home/docker/neo4j/data:/data \

-it \

neo4j:3.5.34 /bin/bash

4. 进入临时容器

在临时容器中,并没有neo4j进程,所以可以正常进行dump

neo4j-admin load --from=/data/srp.db.dump --database=srp.db --force

5. 重启neo4j服务

docker run \

-d \

--publish=7474:7474 --publish=7687:7687 \

--volume=/home/docker/neo4j/data:/data \

--volume=/home/docker/neo4j/conf:/var/lib/neo4j/conf \

--volume=/home/docker/neo4j/logs:/logs \

-e NEO4J_AUTH=neo4j/... \

neo4j:3.5.34