Docker-compose如何建立ELK集群
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章给大家分享的是有关Docker-compose如何建立ELK集群的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。规划计划创建3个ES实例组成一个集群,同时创建一个Ki
千家信息网最后更新 2026年11月03日Docker-compose如何建立ELK集群
这篇文章给大家分享的是有关Docker-compose如何建立ELK集群的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
规划
计划创建3个ES实例组成一个集群,同时创建一个Kibana实例连接该集群。每个ES实例使用本地配置文件,方便配置文件的保存和版本管理。Kibana的配置文件也放在本地,通过文件映射的方式挂载到容器内。
总的目录结构如下:
$ tree.├── docker-compose.yml├── kibana.yml├── node1│ └── es1.yml├── node2│ └── es2.yml└── node3 └── es3.yml3 directories, 5 files
编排文件
主要的编排文件是 docker-compose.yml
version: "2.1"services: es-node1: image: docker.elastic.co/elasticsearch/elasticsearch:6.7.0 hostname: es-node1 expose: #不会将端口暴露给容器外应用 - "9001" ports: #将端口暴露到宿主机中 - "9200:9200" - "9300:9300" volumes: - ~/Projects/sh-valley/docker-conf/elasticstack/cluster/node1/es1.yml:/usr/share/elasticsearch/config/elasticsearch.yml environment: - cluster.name=es-cluster - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms256m -Xmx256m" ulimits: memlock: soft: -1 hard: -1 networks: es-cluster-network: ipv4_address: 172.21.0.10 es-node2: image: docker.elastic.co/elasticsearch/elasticsearch:6.7.0 hostname: es-node2 expose: #不会将端口暴露给容器外应用 - "9002" ports: #将端口暴露到宿主机中 - "9201:9201" - "9301:9301" volumes: - ~/Projects/sh-valley/docker-conf/elasticstack/cluster/node2/es2.yml:/usr/share/elasticsearch/config/elasticsearch.yml environment: - cluster.name=es-cluster - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms256m -Xmx256m" ulimits: memlock: soft: -1 hard: -1 networks: es-cluster-network: ipv4_address: 172.21.0.11 es-node3: image: docker.elastic.co/elasticsearch/elasticsearch:6.7.0 hostname: es-node3 expose: #不会将端口暴露给容器外应用 - "9003" ports: #将端口暴露到宿主机中 - "9202:9202" - "9302:9302" volumes: - ~/Projects/sh-valley/docker-conf/elasticstack/cluster/node3/es3.yml:/usr/share/elasticsearch/config/elasticsearch.yml environment: - cluster.name=es-cluster - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms256m -Xmx256m" ulimits: memlock: soft: -1 hard: -1 networks: es-cluster-network: ipv4_address: 172.21.0.12 kibana: image: docker.elastic.co/kibana/kibana:6.7.0 ports: - "5601:5601" volumes: - ~/Projects/sh-valley/docker-conf/elasticstack/cluster/kibana.yml:/usr/share/kibana/config/kibana.yml environment: - ELASTICSEARCH_URL=http://es-node1:9200 networks: - es-cluster-networknetworks: es-cluster-network: driver: bridge ipam: driver: default config: - subnet: 172.21.0.0/16 gateway: 172.21.0.1
ES配置文件只选取了一个示例如下:
cluster.name: elasticsearch-clusternode.name: es-node1network.bind_host: 0.0.0.0network.publish_host: 172.21.0.10http.port: 9200transport.tcp.port: 9300http.cors.enabled: truehttp.cors.allow-origin: "*"node.master: true node.data: true discovery.zen.ping.unicast.hosts: ["172.21.0.10:9300","172.21.0.11:9301","172.21.0.12:9302"]discovery.zen.minimum_master_nodes: 2
Kibana的配置文件如下
server.name: kibanaserver.host: "0"elasticsearch.hosts: [ "http://es-node1:9200", "http://es-node2:9201", "http://es-node3:9202" ]xpack.monitoring.ui.container.elasticsearch.enabled: false
启动命令
配置文件准备好之后,就可以启动集群了
$ docker-compose up -d
启动过程可能会比较慢,通过命令行可以看到集群节点
$ curl http://localhost:9200/_cat/nodes172.21.0.12 51 96 29 6.53 6.43 3.72 md - es-node3172.21.0.11 47 96 30 6.53 6.43 3.72 mdi - es-node2172.21.0.10 49 96 30 6.53 6.43 3.72 mdi * es-node1
后续使用过程中可以通过 docker-compose 命令启动、停止服务,如果不想保留相关的实例,可以使用 docker-compose down 关闭并删除容器。
感谢各位的阅读!关于"Docker-compose如何建立ELK集群"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
文件
集群
端口
配置
容器
实例
命令
宿主
宿主机
应用
内容
更多
篇文章
过程
不错
实用
可以通过
同时
文章
方式
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
保险科技 互联网保险
互联网科技名片
互联网 科技
上海挚品互联网科技
互联网 科技创业
有马互联网科技
宜安科技 互联网金融
奇酷互联网络科技公司
互联网科技logo
长亮科技 互联网金融
金融科技和互联网金融
太原新华互联网科技学校怎么样
科技与互联网的利与弊
常德市电业局互联网科技部
宁夏众和广鑫互联网科技有限公司
智腾互联网科技有限公司
乌鲁木齐新华智原互联网科技学校
爱医互联网络科技
合肥互联网科技公司公章图片
互联网科技创新方面的资料
A股互联网金融科技公司
易互联网科技有限公司
嘟嘟瓜互联网科技
电子科技大学互联网
有木互联网科技
互联网科技网站
互联网科技博主是什么意思
贵州叶脉互联网科技有限公司所属行业
上海互联网科技公司ppt
互联网的黑科技实验室