Neo4jをDockerで使用する↓の記事を翻訳します.
おことわり
私は, neo4jとDockerに関して初心者です.
なので, 誤った表現が見られるかもしれません.
気になる点があれば,コメントいただけると嬉しいです.
概要
Dockerは,Linuxのホストシステム上でコンテナ化され、制限された単一のアプリケーションを実行するための軽量な仮想システムです.
- Dockerイメージは,アプリケーションまたはサービスの実行に必要な最小限のセットアップを構築する依存レイヤーからあらかじめ構築されています.
- 各レイヤーは,そのレイヤーに必要なファイルシステムを追加する操作を記述する単純なテキストファイル(Dockerfile)で作成されています.
- Dockerイメージは,ダウンロード後すぐに実行することができます.
- リソース内であれば,Dockerイメージインスタンスをそれぞれ隔離された状態で起動することができます.
neo4jをDockerで開発する方法はいくつかあります.
- アプリケーションの実行やテストのために,様々なバージョンの使い捨てNeo4jインスタンスを作成することができます.
- データセット、拡張機能、および設定を事前に持たせることができます.
- 競合するポートとディスクの使用は、ホストシステム上の同じコンテナの複数インスタンスのポートとボリュームを異なるものにマッピングすることで処理できます. Dockerコンテナは、インフラストラクチャ層、データコンテナ、または構成プロバイダとして使用できます。
DockerStore
Dockerのチームが新しいDocker Storeの打ち上げパートナーに選ばれることに興奮しています.
まだ限定的なベータ版ではありますが, 新しいStoreとDockerが流通と運営のプラットフォームとして熱狂的な理由について少しお話したいと思います.
新しいDockerStoreは、Dockerユーザーにとって素晴らしいことを意味します.
Neo4jは他の高品質イメージの中にも見られ、これらのイメージを評価したり、ベンダーにフィードバックしたりできます。
おそらく最も重要なのは、自動リリースのワークフローを通じて、新しいリリースをさらに迅速にリリースできることです.
公式のNeo4j Dockerイメージ
Neo4j2.3以降、Neo4j CommunityとEnterprise Editionの両方の公式Neo4j Dockerイメージをリリースしています.
様々な組織の開発者たちがこのDockerイメージを使用しており, 100万以上プルされています.
#Dockerと#Neo4jのハッシュタグをつけてツイートしてください.
DockerとNeo Technologyの両方でサポートされています.
新しいバージョンは新しいNeo4jリリースで利用可能になります. 以前のバージョンとマイルストーンは, neo4j/neo4jイメージのタグとして利用できます.
異なるバージョンのDockerfilesは, GitHubリポジトリから取得でき, 必要に応じてDockerHubと公式リポジトリと同期されます.
Neo4j Dockerイメージの使い方
neo4j 3.0の場合
- Dockerイメージはデフォルトでは, 3つのポートを開放し,リモートアクセスをおこないます.
7474 for HTTP.
7473 for HTTPS.
7687 for Bolt.
- 2つのボリュームがあります.
/data to allow the database to be persisted outside its container.
/logs to allow access to Neo4j log files.
docker run \
--publish=7474:7474 --publish=7687:7687 \
--volume=$HOME/neo4j/data:/data \
--volume=$HOME/neo4j/logs:/logs \
neo4j:3.0
Linuxでは http://localhost:7474,
MacOS http://$(docker-machine ip default):7474 を開きます.
- \$ HOMEがマシンVMに自動的にマウントされているOS Xで作業するためにOS Xこのマニュアルのすべてのボリュームは$ HOMEの下に格納されます.
- Linux, ボリュームのどこでも格納することができます.
Neo4jでは認証が必要です. 最初の接続でneo4j/neo4jでログイン後,新しいパスワードを設定する必要があります.
更に詳しい情報は, http://neo4j.com/docs/operations-manual/current/installation/docker/
機能
Neo4j Dockerイメージは以下の機能があります.
- configure memory usage
- configure passwords or disable auth
- configure file-descriptor limits and logical log retention
- setup server extensions
Enterprise Editionには、さらに次の機能があります.
- run an high-availability cluster
- access online-backup
- advanced monitoring
機能、設定、クラスタの設定や環境変数に関する詳細および最新のドキュメントDockerHubをお読みください.
Dockerイメージを使っていただき、GitHub issue、Twitter、またはEメールなどでフィードバックをお寄せください.
Neo4j Dockerイメージは, 例えばNeo4j SandboxライブとTwitterネットワークデモのグラフの作成に使われています.
レファレンス
Using the Neo4j Docker Image at Neo4j
Graph Your Networkを構築し, Amazon ECS上でNeo4jを実行している数多くのDockerコンテナを同時にスケーリングしました.
このアプリケーションは, TwitterアクティビティをNeo4jに読み込んで, Cypher query languageで分析できます。
Neo4jを評価しようと思えば, Neo4j Sandboxは同様のアーキテクチャを採用しています.
Docker + Neo4j: A Long History
わたしたちエンジニアチームは、βバージョンのコミュニティ版Neo4j Dockerのイメージを2015年春にリリースしました.
コミュニティーからのフィードバックに基づいて、エンジニアリングチームはCommunity Editionと古くラスターと高可用性を含んだEnterprise Editionの両方をサポートする公式リポジトリを作成しました.
Neo4j – Spark – Analytics
Neo4j-MazerunnerのApache Spark integrationの一環として、Dockerを使用してMazerunner拡張機能を使用してSpark、Hadoop、RabbitMQ、Neo4jをインストールするデフォルト設定がKenny Bastaniによって提供されています。
*Blog Post: Introduction
*Docker Image, GitHub
最後に
翻訳に関して, なにか指摘点があればコメントお願いします.