1. 程式人生 > 其它 >docker 安裝elasticsearch kibana 單節點 叢集 (二)

docker 安裝elasticsearch kibana 單節點 叢集 (二)

技術標籤:esdocker

使用docker-compose 啟動kibana、elasticsearch 單節點
首先編寫一個compose.yml 檔案,只需要一條命令就可以啟動多個容器。
切換到compose.yml 檔案目錄中,執行 docker-compose up -d

單節點配置

#指定 compose 檔案的版本
version: '2.2'
services:
  kibana:
    #指定需要啟動的映象
    image: kibana:7.10.1
    #指定啟動完成容器的名稱
    container_name: kibana_v1
    #指定該容器啟動的引數
environment: - I18N_LOCALE=zh-CN - XPACK_GRAPH_ENABLED=true - TIMELION_ENABLED=true - XPACK_MONITORING_COLLECTION_ENABLED="true" #埠 容器埠對映到外部的埠 ports: - "5601:5601" #指定使用哪個網路 networks: - es73net elasticsearch: image: elasticsearch:
7.10.1 container_name: es_v1 environment: - cluster.name=geektime - node.name=es73 - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms512m -Xmx512m" - discovery.seed_hosts=es73 - cluster.initial_master_nodes=es73 #資源的限制 如 記憶體 ulimits: memlock
: soft: -1 hard: -1 #資料對映到卷載目錄 指定資料寫在docker主機下邊 volumes: - es73data1:/usr/share/elasticsearch/data ports: - 9200:9200 networks: - es73net #宣告資料目錄 volumes: es73data1: driver: local #宣告網路 networks: es73net: driver: bridge

叢集yaml檔案配置

version: '2.2'
services:
  cerebro:
    image: lmenezes/cerebro
    container_name: cerebro_v1
    ports:
      - "9000:9000"
    command:
      - -Dhosts.0.host=http://elasticsearch:9200
    networks:
      - es72net
  kibana:
    image: kibana:7.10.1
    container_name: kibana_v1
    environment:
      - I18N_LOCALE=zh-CN
      - XPACK_GRAPH_ENABLED=true
      - TIMELION_ENABLED=true
      - XPACK_MONITORING_COLLECTION_ENABLED="true"
    ports:
      - "5601:5601"
    networks:
      - es72net
  elasticsearch:
    image: elasticsearch:7.10.1
    container_name: es72_01
    environment:
      - cluster.name=geektime
      # - node.master=true
      - node.name=es72_01
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - discovery.seed_hosts=es72_01,es72_02,es72_03
      # - network.publish_host=elasticsearch
      - cluster.initial_master_nodes=es72_01,es72_02,es72_03
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - es72data1:/usr/share/elasticsearch/data
    ports:
      - 9200:9200
    networks:
      - es72net
  elasticsearch2:
    image: elasticsearch:7.10.1
    container_name: es72_02
    environment:
      - cluster.name=geektime
      # - node.master=false
      - node.name=es72_02
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - discovery.seed_hosts=es72_01,es72_02,es72_03
      # - network.publish_host=elasticsearch
      - cluster.initial_master_nodes=es72_01,es72_02,es72_03
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - es72data2:/usr/share/elasticsearch/data
    networks:
      - es72net
  elasticsearch3:
    image: elasticsearch:7.10.1
    container_name: es72_03
    environment:
      - cluster.name=geektime
      # - node.master=false
      - node.name=es72_03
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - discovery.seed_hosts=es72_01,es72_02,es72_03
      # - network.publish_host=elasticsearch
      - cluster.initial_master_nodes=es72_01,es72_02,es72_03
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - es72data3:/usr/share/elasticsearch/data
    networks:
      - es72net


volumes:
  es72data1:
    driver: local
  es72data2:
    driver: local
  es72data3:
    driver: local

networks:
  es72net:
    driver: bridge

參考:極客時間 《Elasticsearch核心技術與實戰》