ElasticsearchのX-Packはマジ便利なんですが,有償なので (だたしmonitor機能なんかは無償のBasicライセンスで使えて最高) 使わない人も多いでしょう.
そんな場合,Elasticsearch/KibanaをDockerで動かすという時にX-Packを取り除きたくなるというのが人情でしょう.コンテナは軽いと嬉しい.
というわけでそういう場合の法です.
Elasticsearch:
FROM docker.elastic.co/elasticsearch/elasticsearch:5.6.3
RUN bin/elasticsearch-plugin remove x-pack
Kibana:
FROM docker.elastic.co/kibana/kibana:5.6.3
RUN bin/kibana-plugin remove x-pack
プラグインマネジメント機能を介して,docker build時にゴリッとX-Packを消すという構造.
そんでもって,設定のyamlファイルに
xpack:
monitoring.enabled: false
security.enabled: false
watcher.enabled: false
ml.enabled: false
graph.enabled: false
reporting.enabled: false
などと書いてやるとX-Packを無効化した状態で起動することができる.このissueから情報を得ました: Unable to start Kibana 5.3.0 without X-Pack · Issue #27 · elastic/kibana-docker · GitHub.
とは言えX-PackのBasicライセンスで利用できるmonitoring機能は普通に便利だったので,別にX-Pack消さんでも良いなというのが最近の感想です.
補足: Kibanaの場合はなんか特殊で,以下のようなyamlを書いてやる必要があった.
xpack:
monitoring.enabled: false
grokdebugger.enabled: false
searchprofiler.enabled: false
security.enabled: false
watcher.enabled: false
ml.enabled: false
graph.enabled: false
reporting.enabled: false
tilemap.enabled: false
upgrade.enabled: false
xpack_main.enabled: false
なお現在はX-PackのBasicを有効にしているのでKibanaの設定は
monitoring.enabled: true
grokdebugger.enabled: true
searchprofiler.enabled: true
というふうになっており (差分を心の目で見てください),Elasticsearchの設定は
monitoring.enabled: true
となっています (差分を心の目で見てください).