手元のログファイルをさくっと解析したくて docker-compose を使ってローカルで起動してみました。
![kibana_ml.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F100298%2Fb788ba16-a420-3936-32fe-ec95b2b4e7d8.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=c159a81c353229e967fb89afad7435f5)
環境
MacOS Mojave 10.14.4
Docker 18.09.2
手順
- docker-compose.yaml を作成
docker-compose up
- ブラウザでアクセス!
docker-compose.yaml
docker-compose.yaml
version: "3"
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.2.0
environment:
- discovery.type=single-node
- cluster.name=docker-cluster
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
ports:
- 9200:9200
volumes:
- es-data:/usr/share/elasticsearch/data
kibana:
image: docker.elastic.co/kibana/kibana:7.2.0
ports:
- 5601:5601
volumes:
es-data:
なお、ホストにデータを保存したい場合は services.elasticsearch.volumes
を以下のように修正し、volumes
は削除します。
# 省略
volumes:
- ./es-data:/usr/share/elasticsearch/data
# 以下は削除
#volumes:
# es-data:
起動
docker-compose up
ブラウザでアクセス!
![kibana.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F100298%2F97ded147-232e-bee4-978e-6b4b3d7a9c39.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=e5f4bfbbb7a925ec028a44366abf75f5)
少し解説
- discovery.type=single-node
- ローカルで検証するだけなので Development mode にすることで簡易な設定にしました。
Production mode と比較してクラスタの構築など複雑な設定をしなくてすみます。
- ローカルで検証するだけなので Development mode にすることで簡易な設定にしました。
- bootstrap.memory_lock=true
- スワップを使わない設定。
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- メモリ固定。