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