一、目录结构
|- opt/neo4j
|- conf
|- data
|- logs
|- import
|- plugins
|- docker-compose.yml
二、docker-compose.yml文件内容
version: '3' services: neo4j: image: neo4j:3.5.5 volumes: - ./conf:/var/lib/neo4j/conf - ./import:/var/lib/neo4j/import - ./plugins:/plugins - ./data:/data - ./logs:/var/lib/neo4j/logs restart: always ports: - 7474:7474 - 7687:7687 environment: - NEO4J_dbms_memory_heap_maxSize=4G - NEO4J_AUTH=neo4j/123456 #修改默认用户密码
cd /opt/neo4j
docker-compose up
三、启动成功:
编辑
四、报错处理
容器部署的neo4j 数据dump文件导入方案
neo4j 数据迁移有很多种方案,这里选择dump文件的方式迁移,该方式需要停止neo4j 服务,然后执行迁移命令,但是使用官方镜像部署的neo4j,进入容器内使用neo4j stop会提示服务没有运行。
然后使用ps -ef | grep找到neo4j 服务进程kill 掉,会发现容器直接退出了。
解决方法:
1,准备好迁移的文件dump文件,放置到运行着neo4j容器挂载映射的宿主机data目录下,准备迁移文件命令:
neo4j-admin dump --database=graph.db --to=/soft/graph.db.dump
2,启动一个新的临时neo4j 容器但是别挂载配置文件,只挂载数据目录,这样启动的容器neo4j服务是没有启动成功的,启动命令:
sudo docker run -v /data/neo4j/data:/data --name neo4j-container-dump -it neo4j:3.5.26 /bin/bash
3,然后停止掉运行着neo4j 服务的容器(neo4j_test):
docker stop neo4j_test
4,然后进入临时容器,执行导入命令:
neo4j-admin load --from=/data/graph.db.dump --database=graph.db --force
5,退出临时容器,启动原neo4j容器,打开web界面验证数据导入成功
4.0.0版本 相关脚本,可忽略
sudo docker run -v /opt/neo4j/data:/data --name neo4j-container-dump -it neo4j:4.0.0 /bin/bash ./neo4j-admin load --from=/var/lib/neo4j/data/test.dump --database=graph --force ./neo4j-admin load --from=/var/lib/neo4j/data/test.dump --database=neo4j --force
6,其他注意事项
1,database可指定为neo4j,直接就可以看到效果,如下
编辑