将Neo4j Docker上的Graph.db位置更改为本地文件

时间:2016-08-10 19:46:33

标签: docker neo4j spark-streaming boot2docker

我一直在关注本教程www.kennybastani.com 我希望将我的NEo4j数据库与本教程中描述的Dockerized版本集成。 Dockerized版本提供了Neo4j和Spark GraphX之间的接口。我是Docker的新手。

采取的步骤:

  1. export DOCKER_HOST=tcp://$(boot2docker ip 2>/dev/null):2375
  2. $(boot2docker shelling)
  3. docker run --env DOCKER_HOST=$DOCKER_HOST \ --env DOCKER_TLS_VERIFY=$DOCKER_TLS_VERIFY \ --env DOCKER_CERT_PATH=/docker/cert \ -v $DOCKER_CERT_PATH:/docker/cert \ -ti kbastani/spark-neo4j up -d

  4. 此时我在容器中运行Neo4j没有问题,作为测试,我导入了演示数据集::play movies

  5. 5。我想将dockerized Graph.db的位置更改为我的本地。

    尝试1:

    我尝试使用:

    运行容器

    docker run --env DOCKER_HOST=$DOCKER_HOST \ --env DOCKER_TLS_VERIFY=$DOCKER_TLS_VERIFY \ --env DOCKER_CERT_PATH=/docker/cert \ —v /usr/local/Cellar/neo4j/3.0.3/libexec/data/databases/graph.db:opt/data \ -ti kbastani/spark-neo4j up -d

    我得到的答案是:docker: Error parsing reference: "—v" is not a valid repository/tag.我也试过了--volume <path-here>

    尝试2:

    1. 登录容器并打开:neo4j-server.properties
    2. 修改org.neo4j.server.database.location=opt/data以指向我的本地Graph.db。
    3. 不幸的是,两种解决方案都没有运气。

      背景:

      我希望在Apache Spark中实现k-means流,以实时聚合比特币交易。堆栈涉及Neo4j,Spark,Flask。

1 个答案:

答案 0 :(得分:0)

上面文字中的-v看起来不一样 - 就像在-ti中一样。尝试重新输入它(它可能有unicode导致问题)。另外,只需将physical_path:/ data作为位置,您甚至可以输出--volume = physical_path:/ data