Compose file
version: '3'
services:
elasticmaster:
restart: unless-stopped
image: docker.elastic.co/elasticsearch/elasticsearch
node.master: true
node.client: false
node.data: false
environment:
- cluster.name=docker-cluster
- bootstrap.memory_lock=true
- http.cors.enabled=true
- http.cors.allow-origin=*
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- esmaster:/home/ruan/workspace/docker/elasticsearch/data
networks:
- proxy
elasticdata:
restart: unless-stopped
image: docker.elastic.co/elasticsearch/elasticsearch
node.master: false
node.client: false
node.data: true
links:
- elasticmaster:elastic-master
deploy:
replicas: 2
update_config:
parallelism: 2
delay: 10s
order: stop-first
environment:
- cluster.name=docker-cluster
- bootstrap.memory_lock=true
- http.cors.enabled=true
- http.cors.allow-origin=*
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- "discovery.zen.ping.unicast.hosts=elasticsearch"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- esdata:/home/ruan/workspace/docker/elasticsearch/data
networks:
- proxy
kibana:
image: 'docker.elastic.co/kibana/kibana'
container_name: kibana
links:
- elasticmaster:elastic-master
ports:
- '5601:5601'
networks:
- proxy
logstash:
image: docker.elastic.co/logstash/logstash
container_name: logstash
secrets:
- source: logstash.conf
target: /usr/share/logstash/pipeline/logstash.conf
networks:
- proxy
links:
- elasticmaster:elastic-master
healthcheck:
test: bin/logstash -t
interval: 60s
timeout: 50s
retries: 5
headPlugin:
image: 'mobz/elasticsearch-head'
container_name: head
ports:
- '9100:9100'
networks:
- proxy
volumes:
esdata1:
driver: local
esdata2:
driver: local
networks:
proxy: