Docker-compose如何建立ELK集群
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,这篇文章给大家分享的是有关Docker-compose如何建立ELK集群的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。规划计划创建3个ES实例组成一个集群,同时创建一个Ki
千家信息网最后更新 2025年12月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安全错误
数据库的锁怎样保障安全
8e数据库下载链接
通信与网络技术面试
广州点金互联网科技有限公司
山东菏泽互联网科技有限公司
数据库中怎么插入多行数据
plsql数据库安装卸载
如何管理软件开发小组长
2019联通网络技术
html和服务器有什么区别
网络安全之数据安全T级
福建省网络安全竟赛
政府公用网络安全
网络安全知识幼儿园亲子照
南通商城软件开发公司
nginx有什么服务器
防溺水网络安全教育ppt
中心和分公司数据库独立同步
以信息网络技术加速创新
北京公安大学网络安全就业情况
U8建立专家财务评估数据库
visual数据库生成二维码
软件开发学习入门
香港云服务器怎么做更安全
neo4j数据库连接
svn迁移到本地服务器
河北风景网络技术有限公司万欣梦
福建省网络安全竟赛
网络安全宣传朗诵稿
小学网络安全各种制度
U8建立专家财务评估数据库