setup elk with docker-compose

version: '2'
services:
  elasticsearch:
    image: docker.calix.local:18080/docker-elasticsearch:6.2.2-1
    container_name: elasticsearch
    environment:
      - CLUSTER_NAME=docker-cluster
      - bootstrap.memory_lock=true
      - NODE_NAME=node0
      - discovery.type=zen
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - "xpack.security.enabled=false"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    mem_limit: 1g
    privileged: true
    volumes:
      - /root/docker-elk/official/elk_data/node1:/usr/share/elasticsearch/data
    ports:
      - 9200:9200
    networks:
      - esnet
  elasticsearch2:
    image: docker.calix.local:18080/docker-elasticsearch:6.2.2-1
    environment:
      - CLUSTER_NAME=docker-cluster
      - bootstrap.memory_lock=true
      - NODE_NAME=node1
      - discovery.type=zen
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - "xpack.security.enabled=false"
      - DISCOVERY_HOSTS=elasticsearch
    ulimits:
      memlock:
        soft: -1
        hard: -1
    mem_limit: 1g
    privileged: true
    volumes:
      - /root/docker-elk/official/elk_data/node2:/usr/share/elasticsearch/data
    networks:
      - esnet
  elasticsearch3:
    image: docker.calix.local:18080/docker-elasticsearch:6.2.2-1
    environment:
      - CLUSTER_NAME=docker-cluster
      - bootstrap.memory_lock=true
      - NODE_NAME=node2
      - discovery.type=zen
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - "xpack.security.enabled=false"
      - DISCOVERY_HOSTS=elasticsearch
    ulimits:
      memlock:
        soft: -1
        hard: -1
    mem_limit: 1g
    privileged: true
    volumes:
      - /root/docker-elk/official/elk_data/node3:/usr/share/elasticsearch/data
    networks:
      - esnet
  logstash:
    image: docker.elastic.co/logstash/logstash:6.2.4
    container_name: logstash
    environment:
      - "xpack.monitoring.enabled=true"
      - "xpack.security.enabled=false"
    volumes:
      - /root/docker-elk/official/logstash/:/usr/share/logstash/pipeline/
    ports:
      - "4560:4560"
      - "5044:5044"
    networks:
      - esnet
    depends_on:
      - elasticsearch
  kibana:
    image: docker.elastic.co/kibana/kibana-oss:6.2.2
    container_name: kibana
    environment:
      - "ELASTICSEARCH_URL=http://elasticsearch:9200"
      - "xpack.security.enabled=false"
    networks:
      - esnet
    links:
      - "elasticsearch:elasticsearch"
    depends_on:
      - elasticsearch
    ports:
      - 5601:5601
networks:
  esnet:
原文地址:https://www.cnblogs.com/tben/p/8961107.html