Mac OSX Neo4j 3.4.1 Docker数据卷权限被拒绝

时间:2018-07-11 21:14:32

标签: macos docker neo4j docker-compose

因此,我正在OSX上进行开发,并且一直在寻找解决方法,但无济于事。现在,我有一个容器,其中包含我要向其中添加neo4j的其他一些服务。

现在,撰写文件包含如下服务:

docker-compose.yml

version: '2'
services:
  #several other services before this
  neo4j:
    build: ./neo4j
    volumes:
      - "$HOME/neo4j/data:/data"
    ports: 
      - "7474:7474"
      - "7687:7687"

当我没有为neo4j指定卷时,一切正常,但是我希望能够将数据持久保存在容器之外。主要是因为我要导入大量数据,并且不得不不时地切换容器以处理其他项目。我的公司使用makefile来构建我在其上运行make的容器,这是当它到达neo4j时得到的输出:

neo4j_1  | 2018-07-11 20:58:02.010+0000 ERROR Failed to start Neo4j: 
Starting Neo4j failed: Component 
'org.neo4j.server.database.LifecycleManagingDatabase@32193bea' was 
successfully initialized, but failed to start. Please see the attached 
cause exception "Unable to create directory path 
[/var/lib/neo4j/data/databases/graph.db] for Neo4j store.".

我尝试将目录锁定为neo4j,将其更改为777权限,每次都出现相同的问题。先前的数据目录中是否没有内容都没关系。

使用docker文件neo4j已在此处公开提供:https://github.com/neo4j/docker-neo4j-publish/tree/master/3.4.1/community

只有一次能使它正常工作,那是当我从本地Neo4J DB复制所有数据库文件时,我已经在容器外部运行了

sudo chown -R neo4j $HOME/neo4j/data
sudo chmod -R 777 $HOME/neo4j/data
docker run \
    --publish=7474:7474 --publish=7687:7687 \
    --volume=$HOME/neo4j/data:/data \
neo4j:3.4

问题是,我无法从我的项目容器中访问它,现在,当一切正常启动时,makefile和docker-composer.yml似乎会自动链接,因此我只需要指定http://neo4j:neo4j@neo4j:7474能够使用项目容器内的PHP OGM类连接到它。

有人对我如何解决此权限问题有任何建议吗?

0 个答案:

没有答案