1

Jupyter ノートブック Docker インスタンス ( https://github.com/jupyter/docker-stacks/tree/master/all-spark-notebook ) を実行しており、py2neo をインストールしました。

ポート7474を公開してNeo4Jをインストールしたdockerコンテナも実行しています。

問題は、ノートブック ドッカーから Neo4J ドッカーの REST インターフェイスに接続できないように見えることです。問題はlocalhostの定義に関連していると思います。

これまでに機能したもの。Neo4J docker のみを使用し、ローカル ノートブック (ipython ノートブック) を起動すると、次のように動作します。

import py2neo

from py2neo import Node, Relationship, Graph, authenticate

authenticate("http://localhost:7474", "neo4j", "admin")

graph = Graph('http://localhost:7474/db/data') 

graph.cypher.execute('match (y:Year) return y')

localhost の定義が異なるため、別の docker コンテナーで実行されているノートブックでは同じコードは機能しません。しかし今、私はそれがどうあるべきか理解していません:

Neo4J コンテナーで docker inspectを使用し、ローカルホストに対応するアドレスを見つけるために次の 2 つを使用しました。

  • "ゲートウェイ": "xxx.yy.42.1"
  • "IPアドレス": "xxx.yy.0.3"

しかし、どちらも結果としてClientError: 401 Unauthorized

この問題を克服する方法について何か提案はありますか? (私の現在の docker バージョンは 1.7.1 であるため、ネットワークはまだサポートされていませんが、必要に応じて明らかにアップグレードできます。)

4

1 に答える 1