docker 安裝elasticsearch kibana 單節點 叢集 (二)
阿新 • • 發佈:2021-01-12
使用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核心技術與實戰》