Docker安装ES :确保 Kibana 正确连接 Elasticsearch
在使用 Docker 部署 ELK(Elasticsearch、Logstash、Kibana)堆栈时,正确的服务配置和依赖管理至关重要。本文将分享如何优化 Docker Compose 配置,确保 Kibana 能稳定连接到 Elasticsearch,并提供故障排查建议
cd /opt/docker
vi docker-compose.yaml
#写入
services:elasticsearch:image: elasticsearch:6.8.23restart: unless-stoppedcontainer_name: elasticsearchports:- 9200:9200environment:- ES_JAVA_OPTS=-Xms512m -Xmx1024m- discovery.type=single-node- network.host=0.0.0.0 # 明确绑定到所有接口ulimits:memlock:soft: -1hard: -1volumes:- esdata:/usr/share/elasticsearch/datakibana:image: kibana:6.8.23restart: unless-stoppedcontainer_name: kibanaports:- 5601:5601environment:- SERVER_NAME=kibana- ELASTICSEARCH_URL=http://elasticsearch:9200 # 关键修改:使用容器名depends_on:- elasticsearchvolumes:esdata:
启动docker
docker compose down
docker compose up -d
浏览器输入ip:5601出现页面则安装成功
通过优化网络绑定、连接配置和依赖管理,可以显著提升 ELK 堆栈的稳定性。关键步骤包括:
- 使用
network.host=0.0.0.0
确保 Elasticsearch 监听所有接口。 - 通过容器名解析服务地址,避免硬编码 IP。
- 添加健康检查,确保依赖服务就绪后再启动。
- 清理旧容器、验证连接并检查日志,快速定位问题。