広告 Elastic

簡単!ElasticsearchとKibanaをdocker-compose.ymlでコンテナ化して起動する方法

2022-10-02

大量のデータを扱うことができ、時系列グラフや散布図等で可視化ができるElastic関連。

この記事では、ElasticsearchとKibanaをdocker-composeを使用してコンテナ化する手順を簡潔に解説していく。

とりあえずコンテナ化して操作をしたいという方は是非参考にしていただきたい。

簡単に紹介をしておくと、

Elasticsearch』とは、あらゆるデータを格納・操作することができる無料の検索・分析エンジン。

Kibana』とは、Elasticsearchに格納したデータを参照して、ダッシュボード上にグラフを配置することで可視化することができる。

docker-composeの定義

docker-compose.ymlの詳細は以下。

version: "3"

services:
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.17.0
    environment:
      - discovery.type=single-node
      - cluster.name=docker-cluster
      - bootstrap.memory_lock=true
      - xpack.security.enabled=false
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - "TZ=Asia/Tokyo"
    ports:
      - 9200:9200
    volumes:
      # 必要に応じてマウントするpathを指定する
      - ~/hoge/elasticsearch/data:/usr/share/elasticsearch/data
  kibana:
    image: docker.elastic.co/kibana/kibana:7.17.0
    ports:
      - 5601:5601
    environment:
      - ELASTICSEARCH_URL=http://elasticsearch:9200
      - "TZ=Asia/Tokyo"
      - I18N_LOCALE="ja-JP"
    depends_on:
      - elasticsearch

elasticsearchとkibanaをそれぞれ定義する必要がある。

公式からimageが提供されているため、必要なバージョンを指定しよう。

portsはそれぞれデフォルトのポート番号を指定し、最低限必要な環境変数をenvironmentに設定する。

これだけでコンテナ化する準備は終わりだから簡単だね。

コンテナ起動

先程作成したdocker-compose.ymlを使用してコンテナを起動する。

dockerの使用環境が整っていない場合はDocker Desktopのインストールをオススメしているので、以下も合わせてご覧いただきたい。

【M2・Apple Chip対応】macOSのDocker Desktopのインストール方法

開発には欠かせないDockerは、多数のコンテナを管理してサービスを実行することができる。 仮想マシンと比較して、導入コストが低く、軽量で動作が軽いため支持されている。 そこで、本記事では『Docke ...

続きを見る

以下のコマンドを実行する。

docker-compose up -d

よく使用するDockerコマンドの一覧はこちら!

初回はイメージをpullする必要があるので、起動時に多少の時間がかかる場合があります。

処理が完了すると最後に以下のような出力がある。

Creating docker_elasticsearch_1 ... done
Creating docker_kibana_1        ... done

以下のコマンドで正常に起動されているかを確認する。

docker-compose ps

ステータスが「Up」になっていることと指定したポート番号で起動されているかを確認できる。

% docker-compose ps   
         Name                       Command               State                Ports              
--------------------------------------------------------------------------------------------------
docker_elasticsearch_1   /bin/tini -- /usr/local/bi ...   Up      0.0.0.0:9200->9200/tcp, 9300/tcp
docker_kibana_1          /bin/tini -- /usr/local/bi ...   Up      0.0.0.0:5601->5601/tcp  

動作確認

起動したKibanaのコンテナにアクセスし、問題なく画面が表示されることを確認しよう。

Google Cromeなどのブラウザから http://localhost:5601 にアクセスをする。

すると、以下のようなKibanaの画面が表示されるはずだ。

[独りで閲覧] ボタンを押下すると、以下のようなトップ画面が表示される。

エラーになる場合

コンテンが起動しない、アクセスができないなどのエラーがある場合は各コンテナのログを確認してみよう。

以下のコマンドでログを表示することができる。

docker-compose logs elasticsearch
docker-compose logs kibana

大量にログが出力されて見づらい場合は、以下のようにgrepを使用して絞り込むことをオススメする。

docker-compose logs elasticsearch | grep error

まとめ

以上、無料で使用できるソフトウェアのElasticsearchとKibanaをコンテナ化する手順を解説した。

docker-compose.ymlで定義をしてコンテナを操作するのは非常に便利なので、是非活用してみてほしい。

他にもDockerやデータベースなどについても記事を公開しているので、合わせてご覧いただきたい。

おすすめ!
【M2】Azure SQL Edge(SQL Server)のdockerコンテナ起動方法!

Microsoftが提供しているSQL ServerをmacOSの環境で使用する方法を解説する。 M1/M2が搭載されている場合、 『Microsoft SQL Server』をコンテナ化して正常に起 ...

続きを見る

最後まで目を通していただき、ありがとうございました。

-Elastic
-, , , , , ,