表題の通り。DockerでElasticsearchとKibanaを動かす。
■ 環境
- Mac OSX (10.10.5)
- Docker 1.9.1
- Docker Machine 0.5.5
- Elasticsearch 2.1.1
- Kibana 4.3.1
■ Docker
まずはDockerの環境を確認。”Docker Machine“で稼働させているいつものDockerホストを利用する。
$ docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
local * virtualbox Running tcp://192.168.99.100:2376 v1.9.1
$
$ docker version
Client:
Version: 1.9.1
API version: 1.21
Go version: go1.5.1
Git commit: a34a1d5
Built: Sat Nov 21 00:48:57 UTC 2015
OS/Arch: darwin/amd64
Server:
Version: 1.9.1
API version: 1.21
Go version: go1.4.3
Git commit: a34a1d5
Built: Fri Nov 20 17:56:04 UTC 2015
OS/Arch: linux/amd64
$
“Elasticsearch“と”Kiabana“のコンテナを取得するが、事前にDockerHubで確認をし、どちらも最新版(latest)を利用することにした。
$ docker pull elasticsearch
$ docker pull kibana
■ Elasticsearch
Elasticsearchを起動する。判別しやすいように`–name`オプションで”elasticsearch”と付けているが、これは以降で起動する”Kibana”のコンテナでも利用するからである。
$ docker run -d -p 9200:9200 --name elasticsearch elasticsearch
`curl`でクラスタの状態を確認する。接続先は`docker-machine ls`で得られるDockerホストのIPを指定する。
$ curl '192.168.99.100:9200/_cat/health?v'
epoch timestamp cluster status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent
1452242652 08:44:12 elasticsearch green 1 1 0 0 0 0 0 0 - 100.0%
$
問題無く稼働しているようである。
■ Kibana
Kibanaを起動する。先に起動しているElasticsearchにアクセスできるように`–link`オプションを指定する。
$ docker run -d -p 5601:5601 --name kibana --link elasticsearch:elasticsearch kibana
コンテナが稼働していることが確認できればブラウザで見てしまう。接続先のIPはElasticsearchと同様に`docker-machine ls`で確認できているDockerホストのIPである。
http://192.168.99.100:5601/
画面が正常に出力されているようなので良しとする。
以上。