version: '2' services: es-master-01: image: docker.elastic.co/elasticsearch/elasticsearch:5.3.0 environment: - "cluster.name=${cluster_name}" - "bootstrap.memory_lock=true" - "xpack.security.enabled=false" - "ES_JAVA_OPTS=-Xms${heap_size} -Xmx${heap_size}" - "discovery.zen.minimum_master_nodes=2" - "node.master=true" ulimits: memlock: soft: -1 hard: -1 nofile: soft: 65536 hard: 65536 mem_limit: ${mem_limit} mem_swappiness: 0 cap_add: - IPC_LOCK volumes: - es-master-01-data:/usr/share/elasticsearch/data es-master-02: image: docker.elastic.co/elasticsearch/elasticsearch:5.3.0 environment: - "cluster.name=${cluster_name}" - "bootstrap.memory_lock=true" - "xpack.security.enabled=false" - "ES_JAVA_OPTS=-Xms${heap_size} -Xmx${heap_size}" - "discovery.zen.minimum_master_nodes=2" - "node.master=true" ulimits: memlock: soft: -1 hard: -1 nofile: soft: 65536 hard: 65536 mem_limit: ${mem_limit} mem_swappiness: 0 cap_add: - IPC_LOCK volumes: - es-master-02-data:/usr/share/elasticsearch/data es-node: image: docker.elastic.co/elasticsearch/elasticsearch:5.3.0 environment: - "cluster.name=${cluster_name}" - "bootstrap.memory_lock=true" - "xpack.security.enabled=false" - "discovery.zen.ping.unicast.hosts=es-master-01,es-master-02" - "ES_JAVA_OPTS=-Xms${heap_size} -Xmx${heap_size}" - "node.master=false" ulimits: memlock: soft: -1 hard: -1 nofile: soft: 65536 hard: 65536 mem_limit: ${mem_limit} mem_swappiness: 0 cap_add: - IPC_LOCK volumes: - /usr/share/elasticsearch/data kibana: image: docker.elastic.co/kibana/kibana:5.3.0 container_name: kibana environment: - "bootstrap.memory_lock=true" - "xpack.security.enabled=false" - "ELASTICSEARCH_URL=http://es-master-01:9200" - "ES_JAVA_OPTS=-Xms512m -Xmx512m" mem_limit: 1073741824 mem_swappiness: 0 ports: - "${kibana_port}:5601" depends_on: - es-master-01 volumes: es-master-01-data: driver: local es-master-02-data: driver: local