業務でElasticsearchを使う機会があったのですが、何も考えずに手順だけ追えば良い日本語の記事で、なおかつ新しい記事がなかったので、ここにElasticsearchを動かすことができる記事を残しておこうと思います。
公式ページはここですが、作業の枝分かれとかあったりして、Elasticsearchはもとより全般的な知識のない人だと作業の取捨選択に手こずりそうだなという印象を受けました。
https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html
WindowsでもLinuxでもMacOSで大丈夫です。
動かすのはシングルノードのクラスターです。
なお、Dockerはすでにインストール済みとします。
①Elasticsearch用の新しいDockerネットワークを作る
docker network create elastic
②ElasticsearchのDockerイメージをプルする
docker pull docker.elastic.co/elasticsearch/elasticsearch:8.17.2
③Elasticsearchのコンテナを起動する
docker run --name es01 --net elastic -p 9200:9200 -it -m 1GB docker.elastic.co/elasticsearch/elasticsearch:8.17.2
コンテナを起動すると、下図のようなタイムスタンプが大量に表示され、次のコマンドが打てなくなります。
次の手順を実行するために、コマンドプロンプトを別タブで開く。
④Elasticsearchのパスワードとトークンを生成する
パスワード:
docker exec -it es01 /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic
トークン:
docker exec -it es01 /usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana
⑤Elasticsearchのパスワードを環境変数に設定する
⑥で生成したパスワードを設定しておく
shellの場合:
export ELASTIC_PASSWORD="your_password
PowerShellの場合:
setx ELASTIC_PASSWORD "your_password"
⑥コンテナからSSL証明書をコピーする
docker cp es01:/usr/share/elasticsearch/config/certs/http_ca.crt .
⑦KibanaのDockerイメージをプルする
KibanaはElasticsearchをブラウザで視認しやすくするためのソフトウェアです。
docker pull docker.elastic.co/kibana/kibana:8.17.2
⑧Kibanaのコンテナを起動する
docker run --name kib01 --net elastic -p 5601:5601 docker.elastic.co/kibana/kibana:8.17.2
⑨Kibanaをブラウザで表示する
http://localhost:5601/app/home#/
にアクセスすると、さきほど生成したトークンの入力フォームが現れます。
トークンを入力すると、ローカルのターミナル(コンソール)に6桁の数字が表れるため、それも入力フォームに入力します。
上の画像の例だと640590
ですね。
そして、ログインに使うusernameはelastic
、パスワードはさきほど生成したものを使います。
上記を入力したら「Log in」をクリックしてください。
⑩完了
これでElasticsearchの状態がブラウザで見えるようになりました。