Docker下安装ES和kibana详细教程

Docker下安装ES和kibana详细教程

  • 前言
  • 一、前提准备
    • [1.1创建 Docker 网络: 允许两个容器相互通信。](#1.1创建 Docker 网络: 允许两个容器相互通信。)
    • [1.2 创建数据卷 (Volume): 用于持久化 Elasticsearch 的数据。](#1.2 创建数据卷 (Volume): 用于持久化 Elasticsearch 的数据。)
    • [1.3 为了让 Elasticsearch 正常运行,Linux 系统需要调整虚拟内存限制。](#1.3 为了让 Elasticsearch 正常运行,Linux 系统需要调整虚拟内存限制。)
  • 二、启动es和kibana
    • [2.1 ES启动命令如下](#2.1 ES启动命令如下)
    • [2.2 启动kibana](#2.2 启动kibana)
  • 总结

前言

最近工作需要,原来把项目日志数据存入mysql,导致mysql宕机,现在想着试试把日志数据存入es中,减轻mysql压力,以下是本人在测试环境的操作过程。

下面是详细的步骤,包含创建网络、创建卷、运行 ES 和运行 Kibana。


一、前提准备

1.1创建 Docker 网络: 允许两个容器相互通信。

bash 复制代码
docker network create elastic-stack-7

1.2 创建数据卷 (Volume): 用于持久化 Elasticsearch 的数据。

bash 复制代码
docker volume create esdata-7

1.3 为了让 Elasticsearch 正常运行,Linux 系统需要调整虚拟内存限制。

bash 复制代码
# 在宿主机终端执行此命令
sudo sysctl -w vm.max_map_count=262144

二、启动es和kibana

2.1 ES启动命令如下

注意,我用的是7.17.5版本,如果用了8.x以上的版本需要SSL证书认证

bash 复制代码
docker run -d \
--name elasticsearch-7 \
--net elastic-stack-7 \
-p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e "ES_JAVA_OPTS=-Xms1g -Xmx1g" \
-e "xpack.security.enabled=true" \
-e "ELASTIC_PASSWORD=NDpaper@2025" \
-v esdata-7:/usr/share/elasticsearch/data \
docker.elastic.co/elasticsearch/elasticsearch:7.17.15

关键持久化参数:

-v esdata-7:/usr/share/elasticsearch/data: 数据持久化的关键,将数据卷挂载到容器内的数据目录。 这样,即使容器被删除,数据也会保留在 Docker 卷中。

完了docker ps 检查一下,如下,我的已经运行成功了

在浏览器输入ip:9200端口访问一下,如出现如下页面则安装成功了

2.2 启动kibana

  • 前提准备
    Kibana 的版本必须与 ES 版本一致(7.17.15)。在 7.x中,Kibana 连接 ES 同样简单,只需指定 ES 的地址即可。
bash 复制代码
docker run -d \
--name kibana-7 \
--net elastic-stack-7 \
-p 5601:5601 \
-e "ELASTICSEARCH_HOSTS=http://elasticsearch-7:9200" \
-e "ELASTICSEARCH_USERNAME=elastic" \
-e "ELASTICSEARCH_PASSWORD=NDpaper@2025" \
docker.elastic.co/kibana/kibana:7.17.15

参数解释:

ELASTICSEARCH_HOSTS: 在 Docker 网络中,使用 ES 容器的名称 elasticsearch-7 即可。

启动成功

在页面访问:输入你的ip:5601

总结

以上就是ES和kibana的安装过程,希望对读者有帮助。

相关推荐
海兰6 分钟前
使用 OpenTelemetry 与 Elastic APM 追踪 MCP 服务器工具调用
运维·服务器·elasticsearch·wpf
逆境不可逃1 小时前
一篇速通互联网架构的不断升级过程:从单机到云原生
java·elasticsearch·搜索引擎·云原生·架构
珂玥c8 小时前
k8s集群网络插件caclico切换为flannel
云原生·容器·kubernetes
Zhu7589 小时前
【问题处理】minIO(AIStor)在k8s部署后,API访问失败的问题,TLS
云原生·容器·kubernetes
临街的小孩9 小时前
Docker 容器内运行 ROS Noetic 图形界面(rqt_image_view)极简教程总结
运维·docker·容器
明明跟你说过13 小时前
Kafka 与 Elasticsearch 的集成应用案例深度解析
大数据·elk·elasticsearch·kafka·big data·bigdata
拾-光13 小时前
【Git】命令大全:从入门到高手,100 个最常用命令速查(2026 版)
java·大数据·人工智能·git·python·elasticsearch·设计模式
醉颜凉13 小时前
Elasticsearch 实战:数据自动化清理完全指南(ILM + 定时删除 + 最佳实践)
elasticsearch·自动化·jenkins
2301_8169978813 小时前
性能调优(基于 Elasticsearch 8.x)
大数据·elasticsearch·搜索引擎
smileNicky13 小时前
Docker 部署 SpringBoot 项目超详细教程
spring boot·docker·容器