将转储文件加载到Neo4J Docker Compose时出现问题

vd2z7a6w  于 2023-04-20  发布在  Docker
关注(0)|答案(2)|浏览(138)

我正在尝试创建一个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构建的,我已经完全按照这些说明,就我所知。

t9eec4r0

t9eec4r01#

对于仍在搜索的用户,您需要将/data文件夹的所有权恢复到neo4j
neo4j-init.sh中加载数据库后添加此行

chown -R neo4j /data
ogq8wdun

ogq8wdun2#

您可能会发现下面的article很有帮助-它描述了如何准确地执行您正在尝试执行的操作

相关问题