我正在尝试创建一个docker-compose文件,它可以启动Neo4J数据库并加载一个转储文件以立即使用。我不喜欢在本地安装数据库系统,因为它们通常很容易放入docker文件,然后在需要时更容易处理和清除。然而,我似乎无法让它工作。当运行我在网上找到的指令时,docker容器无法启动,没有任何错误信息。
Docker-Compose.yml
version: '3.7'
services:
neo4j:
container_name: 'neo4j'
image: neo4j:latest
environment:
- NEO4J_AUTH=neo4j/password
- EXTENSION_SCRIPT=/neo4j-data/neo4j-init.sh
ports:
- "7474:7474"
- "7687:7687"
volumes:
- ./neo4j-data:/data
neo4j-init.sh:
#!/bin/bash
set -euo pipefail
IFS=$'\n\t'
# do not run init script at each container strat but only at the first start
if [ ! -f /tmp/neo4j-import-done.flag ]; then
/var/lib/neo4j/bin/neo4j-admin neo4j-admin load --from=/data/data.dump --database=graph.db --force
touch /tmp/neo4j-import-done.flag
else
echo "The import has already been made."
fi
这是完全从here构建的,我已经完全按照这些说明,就我所知。
2条答案
按热度按时间t9eec4r01#
对于仍在搜索的用户,您需要将
/data
文件夹的所有权恢复到neo4j在
neo4j-init.sh
中加载数据库后添加此行ogq8wdun2#
您可能会发现下面的article很有帮助-它描述了如何准确地执行您正在尝试执行的操作