使用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核心技术与实战》