ElasticsearchをDockerで実行する方法


  1. Dockerのインストール: まず、Dockerをインストールしてください。Dockerの公式ウェブサイトから最新のバージョンをダウンロードし、インストールします。

  2. ElasticsearchのDockerイメージの取得: 次に、Docker HubからElasticsearchの公式Dockerイメージを取得します。ターミナルまたはコマンドプロンプトを開き、次のコマンドを実行してください。

docker pull docker.elastic.co/elasticsearch/elasticsearch:{バージョン}

{バージョン}には、使用したいElasticsearchのバージョンを指定します。例えば、最新のバージョンを使用する場合は、「7.15.0」のように指定します。

  1. Elasticsearchコンテナの起動: Dockerイメージの取得が完了したら、次のコマンドを使用してElasticsearchコンテナを起動します。
docker run -d --name my-elasticsearch \
  -p 9200:9200 -p 9300:9300 \
  -e "discovery.type=single-node" \
  docker.elastic.co/elasticsearch/elasticsearch:{バージョン}

上記のコマンドでは、Elasticsearchコンテナに名前「my-elasticsearch」を付け、ホストのポート9200と9300をコンテナのポート9200と9300にマッピングしています。また、簡易的な単一ノードクラスタの設定を行っています。

  1. Elasticsearchへのアクセス: Elasticsearchが正常に起動したら、次のURLにアクセスして動作を確認できます。
http://localhost:9200

このURLにアクセスすると、Elasticsearchのクラスタ情報が表示されます。

以上が、ElasticsearchをDockerで実行する手順です。これにより、簡単にローカル環境でElasticsearchを試すことができます。

コード例: 以下に、Pythonを使用してElasticsearchにデータをインデックスする例を示します。

from elasticsearch import Elasticsearch
# Elasticsearchクライアントの作成
es = Elasticsearch(['localhost'], port=9200)
# インデックスの作成
es.indices.create(index='my_index')
# ドキュメントの作成
doc = {
    'title': 'Example Document',
    'content': 'This is an example document'
}
# ドキュメントのインデックス作成
es.index(index='my_index', body=doc, id=1)
# ドキュメントの検索
res = es.search(index='my_index', body={'query': {'match': {'content': 'example'}}})
print(res)

上記のコードでは、ElasticsearchのPythonライブラリであるelasticsearchを使用しています。まず、Elasticsearchクライアントを作成し、my_indexという名前のインデックスを作成します。次に、ドキュメントを作成してインデックスに追加し、"example"というキーワードで検索を行っています。

これらの手順とコード例を参考にして、DockerでElasticsearchを実行し、データを操作してみてください。