Dockerコンテナを使用してElasticsearchインスタンスを設定する

Dockerkontenawo Shi Yongshiteelasticsearchinsutansuwo She Dingsuru



Elasticsearch は、テキスト、数値、地理空間、構造化、非構造化を含むあらゆる種類のデータを対象とした、分散型の無料でオープンな検索および分析エンジンです。

Elasticsearch は Apache Lucene 上に構築され、2010 年に初めてリリースされました。シンプルな REST API、分散性、速度、スケーラビリティで知られる Elasticsearch は、データの取り込みと強化のための無料でオープンなツールのセットである Elastic Stack の中心的なコンポーネントです。 、ストレージ、分析、視覚化。

このチュートリアルでは、Docker コンテナを使用して Elasticsearch インスタンスをセットアップするプロセスを簡単に説明します。







要件:

この投稿で提供されているコマンドと手順を実行するには、次のものが揃っていることを確認してください。



  1. インストールされたDockerエンジン
  2. インストールされた Docker Compose
  3. Docker コンテナを実行するための十分な権限

Docker Compose ファイルを定義する

最初のステップは、Docker コンテナーを実行するための Docker Compose 構成を定義することです。まず、構成ファイルを保存するディレクトリを作成します。



$ mkdir 弾性のある
$ CD 弾性のある

次の構成例に示すように、Elasticsearch クラスターを実行するための「docker-compose.yml」ファイルを作成します。





バージョン: 「3」
サービス:
elasticsearch01:
画像: docker.elastic.co / 弾性検索 / エラスティックサーチ:8.9.2
コンテナ名: elasticsearch01
ポート:
- 9200 : 9200
- 9300 : 9300
環境:
Discovery.type: 単一ノード
ネットワーク:
- 伸縮性のある
キバナ01:
画像: docker.elastic.co / キバナ / キバナ:8.9.2
コンテナ名: kibana01
ポート:
- 5601 : 5601
環境:
ELASTICSEARCH_URL: http: // elasticsearch01: 9200
ELASTICSEARCH_HOSTS: http: // elasticsearch01: 9200
ネットワーク:
- 伸縮性のある
ネットワーク:
弾性:
ドライバー:ブリッジ

このサンプル ファイルでは、2 つのサービスを定義します。 1 つ目は Elasticsearch サービスをセットアップし、もう 1 つは Kibana インスタンスをセットアップします。手順は次のとおりです。

  • Elasticsearch 8.9.2 イメージを使用します。
  • ポート 9200 および 9300 をコンテナからホストにマッピングします。
  • Elasticsearch の環境変数「discovery.type tosingle-node」を設定します。
  • 「elastic」というカスタム ネットワークに接続します。

Kibana サービスでは、次のアクションを実行します。



  • Kibana 8.9.2 イメージを使用します。
  • ポート 5601 をコンテナからホストにマッピングします。
  • ELASTICSEARCH_URL および ELASTICSEARCH_HOSTS 環境変数を使用して Elasticsearch 接続 URL を指定します。
  • エラスティック ネットワークに接続します。

最後に、Elasticsearch コンテナと Kibana コンテナが通信できるようにするブリッジ ドライバーを使用して、「elastic」というカスタム ネットワークをセットアップします。

コンテナを実行する

サービスを定義したら、次のように Docker Compose コマンドを使用してコンテナを実行できます。

$ ドッカーの構成 -d

Elasticsearch と Kibana にアクセスする

コンテナが起動したら、次のアドレスにあるコンテナのインスタンスにアクセスします。

http: // ローカルホスト: 9200 - > エラスティックサーチ

http: // ローカルホスト: 5601 - > キバナ

Docker の「Run」コマンドを使用して Elasticsearch を実行する

カスタム構成を定義しなくても、docker の「run」コマンドを使用して Elasticsearch をすばやく実行することもできます。

まず、Elasticsearch インスタンスに接続する Docker ネットワークを作成します。

$ ドッカーネットワーク作成エルク

作成したら、次のコマンドを実行して Elasticsearch インスタンスを作成し、作成したネットワークに接続します。

$ ドッカーラン -d - 名前 弾性検索 - ネット ヘラジカ -p 9200 : 9200 -p 9300 : 9300 -それは 「discovery.type=単一ノード」 elasticsearch:タグ

これにより、カスタムの「docker-compose」ファイルを作成し、Elasticsearch インスタンスを迅速に実行するプロセスが簡素化されます。

結論

この記事では、Docker コンテナを使用して Elasticsearch インスタンスと Kibana インスタンスを定義および実行する基本的な手順について説明しました。