确定好需要安装的版本:后续要测试升级,目前以6.4.2和7.2.0两个版本为准
6.4.2版本:
version: '2'
services:
es01:
image: docker.elastic.co/elasticsearch/elasticsearch:6.4.2
environment:
- cluster.name=docker-cluster
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- node.name=node0
- node.master=true
- node.data=true
- bootstrap.memory_lock=true
- search.max_buckets=100000000
- http.cors.enabled=true
- http.cors.allow-origin=*
- "discovery.zen.ping.unicast.hosts=es01,es02,es03"
- "discovery.zen.minimum_master_nodes=2"
ulimits:
memlock:
soft: -1
hard: -1
mem_limit: 1g
volumes:
- /mnt/data1/es/es01/data:/usr/share/elasticsearch/data
- /mnt/data1/es/es01/logs:/usr/share/elasticsearch/logs
ports:
- 9200:9200
networks:
esnet:
ipv4_address: 172.19.0.4
es02:
image: docker.elastic.co/elasticsearch/elasticsearch:6.4.2
environment:
- cluster.name=docker-cluster
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- node.name=node1
- node.master=true
- node.data=true
- bootstrap.memory_lock=true
- search.max_buckets=100000000
- http.cors.enabled=true
- http.cors.allow-origin=*
- "discovery.zen.ping.unicast.hosts=es01,es02,es03"
- "discovery.zen.minimum_master_nodes=2"
ulimits:
memlock:
soft: -1
hard: -1
mem_limit: 1g
volumes:
- /mnt/data1/es/es02/data:/usr/share/elasticsearch/data
- /mnt/data1/es/es02/logs:/usr/share/elasticsearch/logs
ports:
- 9201:9200
- 9301:9300
networks:
esnet:
ipv4_address: 172.19.0.5
es03:
image: docker.elastic.co/elasticsearch/elasticsearch:6.4.2
environment:
- cluster.name=docker-cluster
- node.name=node2
- node.master=true
- node.data=true
- bootstrap.memory_lock=true
- search.max_buckets=100000000
- http.cors.enabled=true
- http.cors.allow-origin=*
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- "discovery.zen.ping.unicast.hosts=es01,es02,es03"
- "discovery.zen.minimum_master_nodes=2"
ulimits:
memlock:
soft: -1
hard: -1
mem_limit: 1g
volumes:
- /mnt/data1/es/es03/data:/usr/share/elasticsearch/data
- /mnt/data1/es/es03/logs:/usr/share/elasticsearch/logs
ports:
- 9202:9200
- 9302:9300
networks:
esnet:
ipv4_address: 172.19.0.6
kibana:
image: docker.elastic.co/kibana/kibana:6.4.2
ports:
- 5601:5601
volumes:
- ./kibana.yml:/usr/share/kibana/config/kibana.yml:rw
depends_on:
- es01
networks:
esnet:
ipv4_address: 172.19.0.7
networks:
esnet:
external:
name: serv-net
7.2.0版本:
version: '2'
services:
es01:
image: docker.elastic.co/elasticsearch/elasticsearch:7.2.0
environment:
- cluster.name=docker-cluster
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- node.name=node0
- node.master=true
- node.data=true
- bootstrap.memory_lock=true
- search.max_buckets=100000000
- http.cors.enabled=true
- http.cors.allow-origin=*
- cluster.initial_master_nodes=node0
- "discovery.zen.ping.unicast.hosts=es01,es02,es03"
- "discovery.zen.minimum_master_nodes=2"
ulimits:
memlock:
soft: -1
hard: -1
mem_limit: 1g
volumes:
- /mnt/data1/es/es01/data:/usr/share/elasticsearch/data
- /mnt/data1/es/es01/logs:/usr/share/elasticsearch/logs
ports:
- 9200:9200
networks:
esnet:
ipv4_address: 172.19.0.4
es02:
image: docker.elastic.co/elasticsearch/elasticsearch:7.2.0
environment:
- cluster.name=docker-cluster
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- node.name=node1
- node.master=true
- node.data=true
- bootstrap.memory_lock=true
- search.max_buckets=100000000
- http.cors.enabled=true
- http.cors.allow-origin=*
- cluster.initial_master_nodes=node0
- "discovery.zen.ping.unicast.hosts=es01,es02,es03"
- "discovery.zen.minimum_master_nodes=2"
ulimits:
memlock:
soft: -1
hard: -1
mem_limit: 1g
volumes:
- /mnt/data1/es/es02/data:/usr/share/elasticsearch/data
- /mnt/data1/es/es02/logs:/usr/share/elasticsearch/logs
ports:
- 9201:9200
- 9301:9300
networks:
esnet:
ipv4_address: 172.19.0.5 顶端
es03:
image: docker.elastic.co/elasticsearch/elasticsearch:7.2.0
environment:
- cluster.name=docker-cluster
- node.name=node2
- node.master=true
- node.data=true
- bootstrap.memory_lock=true
- search.max_buckets=100000000
- http.cors.enabled=true
- http.cors.allow-origin=*
- cluster.initial_master_nodes=node0
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- "discovery.zen.ping.unicast.hosts=es01,es02,es03"
- "discovery.zen.minimum_master_nodes=2"
ulimits:
memlock:
soft: -1
hard: -1
mem_limit: 1g
volumes:
- /mnt/data1/es/es03/data:/usr/share/elasticsearch/data
- /mnt/data1/es/es03/logs:/usr/share/elasticsearch/logs
ports:
- 9202:9200
- 9302:9300
networks:
esnet:
ipv4_address: 172.19.0.6
kibana:
image: docker.elastic.co/kibana/kibana:7.2.0
ports:
- 5601:5601
volumes:
- ./kibana.yml:/usr/share/kibana/config/kibana.yml:rw
depends_on:
- es01
networks:
esnet:
ipv4_address: 172.19.0.7
networks:
esnet:
external:
name: serv-net
其中,需要给docker配备网络
sudo docker network create --driver bridge --subnet 172.19.0.0/16 --gateway 172.19.0.1 serv-net
6.4.2:
#
## ** THIS IS AN AUTO-GENERATED FILE **
##
#
# # Default Kibana configuration for docker target
server.name: kibana
server.host: "0"
#这里写你的es第一个node的地址
elasticsearch.url: "http://196.168.1.127:9200"
xpack.monitoring.ui.container.elasticsearch.enabled: true
7.2.0:
#
## ** THIS IS AN AUTO-GENERATED FILE **
##
#
# # Default Kibana configuration for docker target
server.name: kibana
server.host: "0"
#这里写你的es第一个node的地址
elasticsearch.hosts: [ "http://196.168.1.127:9200" ]
xpack.monitoring.ui.container.elasticsearch.enabled: true
docker pull docker.elastic.co/elasticsearch/elasticsearch:6.4.2
docker pull docker.elastic.co/kibana/kibana:6.4.2
docker-compose up -d
curl “0.0.0.0:9200/_cat/nodes”
172.19.0.4 41 99 99 201.34 201.19 200.31 mdi - node0
172.19.0.5 48 99 99 201.34 201.19 200.31 mdi - node1
172.19.0.6 33 99 99 201.34 201.19 200.31 mdi * node2
curl 0.0.0.0:5601
<script>var hashRoute = '/app/kibana';
var defaultRoute = '/app/kibana';
var hash = window.location.hash;
if (hash.length) {
window.location = hashRoute + hash;
} else {
window.location = defaultRoute;
}</script>
关闭容器
docker-compose down
#安装指定版本(替换1.23.2为自己需要安装的版本)
sudo curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
#执行命令,授权
sudo chmod +x /usr/local/bin/docker-compose
#验证版本
docker-compose version