如何在docker中部署Elasticsearch集群和kibana

做实验时需要了解Elasticsearch集群如何操作?通过使用docker-compose可以批量创建docker容器,启动ES集群。

先配置文件docker-compose.yml文件如下:

 1 version: '2.2'
 2 networks:
 3   esnet:
 4 services:
 5   es00:
 6     image: docker.elastic.co/elasticsearch/elasticsearch:6.5.1
 7     container_name: es00
 8     environment:
 9       - cluster.name=esdocker-cluster
10       - node.name=node-00
11       - bootstrap.memory_lock=true
12       - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
13       - http.cors.enabled=true
14       - http.cors.allow-origin=*
15     ulimits:
16       memlock:
17         soft: -1
18         hard: -1
19     volumes:
20       - .\es00:/usr/share/elasticsearch/data
21     ports:
22       - 9200:9200
23       - 9300:9300
24     networks:
25       - esnet
26   es01:
27     image: docker.elastic.co/elasticsearch/elasticsearch:6.5.1
28     container_name: es01
29     environment:
30       - cluster.name=esdocker-cluster
31       - node.name=node-01
32       - bootstrap.memory_lock=true
33       - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
34       - "discovery.zen.ping.unicast.hosts=es00"
35     ulimits:
36       memlock:
37         soft: -1
38         hard: -1
39     volumes:
40       - .\es01:/usr/share/elasticsearch/data
41     ports:
42       - 9201:9200
43       - 9301:9300
44     networks:
45       - esnet
46     depends_on:
47       - es00
48   es02:
49     image: docker.elastic.co/elasticsearch/elasticsearch:6.5.1
50     container_name: es02
51     environment:
52       - cluster.name=esdocker-cluster
53       - node.name=node-02
54       - bootstrap.memory_lock=true
55       - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
56       - "discovery.zen.ping.unicast.hosts=es00"
57     ulimits:
58       memlock:
59         soft: -1
60         hard: -1
61     volumes:
62       - .\es02:/usr/share/elasticsearch/data
63     ports:
64       - 9202:9200
65       - 9302:9300
66     networks:
67       - esnet
68     depends_on:
69       - es00
70 
71   kibana:
72     image: docker.elastic.co/kibana/kibana:6.5.1
73     container_name: kibana
74     environment:
75       - SERVER_NAME=kibana
76       - ELASTICSEARCH_URL=http://es00:9200
77       - XPACK_MONITORING_ENABLED=true
78     ports:
79       - 5601:5601
80     networks:
81       - esnet
82     depends_on:
83       - es00
84     external_links:
85       - es00

说明:

第一个networks貌似得放前面,不然后面网络找不到es00,貌似这是和官方文档唯一的区别,坑了好久。
也可以像下面这样写,但是必须在启动之前先创建docker网络,运行命令(docker network create esnet)即可。
1 networks:
2   esnet:
3     external: true
 
 

 

运行docker-compose up即可启动Elasticsearch集群和kibana。

docker-compose down 删除docker。

 

参考官方文档:

https://www.elastic.co/guide/en/kibana/6.5/docker.html#environment-variable-config

https://www.elastic.co/guide/en/kibana/6.5/docker.html#environment-variable-config

 

你可能感兴趣的:(如何在docker中部署Elasticsearch集群和kibana)