はじめに
docker-composeファイルを分割させた時にしたことです。
今回はkibanaからelasticsearchに通信します。
環境
- docker-compoase
- elasticsearch
- kibana
分割前のdocker-compose.yml
docker-compose.yml
version: '2'
services:
elasticsearch:
container_name: esc
image: esi:1.0.0
build: ./es
volumes:
- ./data/es:/usr/share/elasticsearch/data
ports:
- 9200:9200
expose:
- 9300
kibana:
container_name: kibanac
image: kibanai:1.0.0
build: ./kibana
links:
- elasticsearch
ports:
- 5601:5601
このdocker-compoase.ymlを分割させます。
linksを使っています。
分割後のdocker-compose.yml
ディレクトリ構成は以下の通りです。
└── elasticsearch_external_links
└── es_d
├── docker-compose.yml
├── Dockerfile
└── config
└── elasticsearch.yml
└── kibana_d
├── docker-compose.yml
├── Dockerfile
└── config
└── kibana.yml
es_d/config/elasticsearch.yml
http.host: 0.0.0.0
### x-pack functions
xpack.security.enabled: false
# 無償利用は1クラスタまで
xpack.monitoring.enabled: true
xpack.graph.enabled: false
xpack.watcher.enabled: false
es_d/docker-compose.yml
version: '2'
services:
elasticsearch:
build: .
container_name: es_c_el
image: es_i_el:1.0.0
volumes:
- ./data/es:/usr/share/elasticsearch/data
ports:
- 9200:9200
expose:
- 9300
es_d/Dockerfile
FROM docker.elastic.co/elasticsearch/elasticsearch:5.5.3
COPY ./config/elasticsearch.yml /usr/share/elasticsearch/config/elasticsearch.yml
# kuromojiをインストール
RUN elasticsearch-plugin install analysis-kuromoji
kibana_d/config/kibana.yml
---
# Default Kibana configuration from kibana-docker.
server.name: kibana
server.host: "0"
elasticsearch.url: http://elasticsearch:9200
elasticsearch.username: elastic
elasticsearch.password: changeme
xpack.monitoring.ui.container.elasticsearch.enabled: true
kibana_d/docker-compose.yml
version: '2'
services:
kibana:
build: .
container_name: kibana_c_el
image: kibana_i_el:1.0.0
external_links:
- elasticsearch
ports:
- 5601:5601
networks:
- default
- es1_default
networks:
es1_default:
external:
name: es_d_default
ポイントは ディレクトリ名がそのままネットワーク名になっているところです
es_d_default
kibana_d/Dockerfile
FROM docker.elastic.co/kibana/kibana:5.5.3
COPY ./config/kibana.yml /opt/kibana/config/kibana.yml
実行
elasticsearchを起動
$ cd es_d
$ docker-compose up -d --build
kibanaを起動
$ cd kibana_d
$ docker-compose up -d --build
docker networkの確認
$ docker network ls
NETWORK ID NAME DRIVER SCOPE
aaaaaaaaaaaa es_d_default bridge local
bbbbbbbbbbbb kibana_d_default bridge local
elasticsearch http://localhost:9200/
kibana http://localhost:5601/
github サンプル 分割前
github サンプル 分割後
これでOK