フリーランス 技術調査ブログ

フリーランス/エンジニア Ruby Python Nodejs Vuejs React Dockerなどの調査技術調査の備忘録

neo4jがdocker環境で動いた!

docker-compose.yaml

下記の設定で注意して頂きたいのはNEO4J_AUTHの値はログインするためのアカウントとパスワードとなります。 下記のサンプルの場合、アカウントが「neo4j」で、パスワードは「test」となります。

  neo4j:
    image: neo4j:4.0
    volumes:
      - ./data:/data
      - ./plugins:/plugins
      - ./import:/import
    ports:
      - "7474:7474"
      - "7687:7687"
    environment:
      - NEO4J_apoc_export_file_enabled=true
      - NEO4J_apoc_import_file_enabled=true
      - NEO4J_dbms_security_procedures_unrestricted=apoc.*,algo.*
      - NEO4J_dbms_memory_heap_initial__size=512m
      - NEO4J_dbms_memory_heap_max__size=2G
      - NEO4J_apoc_uuid_enabled=true
      - NEO4J_dbms_default__listen__address=0.0.0.0
      - NEO4J_dbms_allow__upgrade=true
      - NEO4J_dbms_default__database=neo4j
      - NEO4J_AUTH=neo4j/test
    restart: unless-stopped

下記のページに記載されている内容をそのままコピーして動きました。不要なネットワークの指定などは自分は削除しました。

Neo4j 4.0 “ docker-compose” - Faaiz SHAH - Mediummedium.com

操作方法

  • デフォルトで作成されているデータベースの[neo4j]選択をする
:use neo4j
  • ne4jのHellWorld!を表示する。ノードを追加する
CREATE (database:Database {name:"Neo4j"})-[r:SAYS]->(message:Message {name:"Hello World!"}) RETURN database, message, r
  • hello worldのデータが登録できたことを確認できました。 f:id:PX-WING:20200513134619p:plain

 補足

もしneo4jをグローバル環境で動作させたい場合、下記のエラーが発生しますので、下記の設定を追加してください。

neo4j:
    environment:
         - NEO4J_dbms_connector_bolt_advertised__address=myneohost.mydomain.nl:7687

https://github.com/neo4j/neo4j-browser/issues/522