表題の通り。先日のエントリ「Elasticsearch + Kibana on Docker」をDocker Composeで稼働させてみる。
■ 環境
- Mac OSX (10.10.5)
- Docker 1.9.1
- Docker Compose 1.5.2
■ Elasticsearch + Kibana on Docker
それぞれのコンテナは下記のように起動している。
Elasticsearch:
$ docker run -d -p 9200:9200 --name elasticsearch elasticsearch
Kibana:
$ docker run -d -p 5601:5601 --name kibana --link elasticsearch:elasticsearch kibana
ひとつずつ起動するのは面倒なので、`docker-compose`で起動をさせる。
■ docker-compose.yml
ディレクトリ名称がプロジェクト名として使用され、コンテナ名にもprefixとして含まれるが、今回は`docker-compose`の`scale`は使用せずに1台のElasticsearchと1台のKibanaだけを利用したいので、コンテナ名は固定で設定する。その為、ディレクトリ名称も気にしない。
“docker-compose.yml“は下記のようにしている。
elasticsearch:
image: elasticsearch
container_name: elasticsearch
ports:
- "9200:9200"
kibana:
image: kibana
container_name: kibana
links:
- elasticsearch:elasticsearch
ports:
- "5601:5601"
“image“はどちらもタグを指定していないので最新版を取得してくる。”container_name“を付けなければ”dir_elasticsearch_1“や”dir_kibana_1“といったコンテナ名が付けられてしまい、Kibanaの”links“で指定できなくなってしまうので、このようにしている。
■ up
実際に起動してみる。
$ docker-compose up -d
Creating elasticsearch
Creating kibana
$
Kibanaにブラウザでアクセスしてみる。

先日と変わりなくアクセスできた。
■ stop & rm
$ docker-compose stop
Stopping kibana ... done
Stopping elasticsearch ... done
$
$ docker-compose rm
Going to remove kibana, elasticsearch
Are you sure? [yN] y
Removing kibana ... done
Removing elasticsearch ... done
$
以上。
■ 関連