当前位置: 首页 > news >正文

使用docker安装配置 elasticsearch + kibana

使用docker安装配置 elasticsearch8.18.0 + kibana8.18.0

使用docker-compose文件安装步骤如下:

  • 当 compose 文件名为 docker-compose.yaml 时,可以省略 -f 参数。否则所有执行 docker-compose 命令时都需要指定 -f 参数。
  • 这是基于Linux系统的操作,Windows用户的操作有所区别。
    • windows用户可以通过创建挂载卷的方式来管理相关配置文件和数据。docker volume create <volume-name>
    • 必须先创建挂在卷,然后在docker-compose.yaml文件中配置挂载卷,最后可以一次性的启动成功,无需经过复制配置文件的步骤。
  • Linux用户将配置文件复制到宿主机,然后启动容器,容器会自动读取配置文件,无需挂载卷。宿主机内的文件更方便管理。

1、创建如下的docker-compose.yaml文件

name: local-dev
services:elasticsearch:image: elasticsearch:8.18.0container_name: elasticsearchports:- "9200:9200"- "9300:9300"environment:- discovery.type=single-node- xpack.security.enabled=true # 开启安全认证,但是禁用 SSL- xpack.security.http.ssl.enabled=false- xpack.security.transport.ssl.enabled=false- ES_JAVA_OPTS=-Xms1g -Xmx3g- ELASTIC_PASSWORD=my_elastic_password  # 设置 elastic 用户的密码networks: # 配置网络【可忽略该配置】- my-network# 数据持久化、配置文件、插件volumes:- /data/elasticsearch/data:/usr/share/elasticsearch/data # 数据持久化# 如需放ik分词器插件,记得配置上停止词字典# - /data/elasticsearch/plugins:/usr/share/elasticsearch/pluginsrestart: unless-stopped # 容器退出时总是重启,除非手动停止【可忽略该配置】kibana:image: kibana:8.18.0container_name: kibanaports:- "5601:5601"environment:- ELASTICSEARCH_HOSTS=http://elasticsearch:9200- ELASTICSEARCH_USERNAME=kibana_system # 设置 kibana_system 用户的用户名【kibana需要在后台连接es,需要es提供一个账号】- ELASTICSEARCH_PASSWORD=your_kibana_system_password # 此行的密码可以为任意值,下面的操作将会设置成这个密码networks:- my-networkdepends_on:- elasticsearch # kibana 依赖 elasticsearchrestart: unless-stoppednetworks:my-network:driver: bridge

2. 先启动es,并将es的配置文件复制到宿主机

mkdir -p /data/elasticsearch/data # 递归创建数据持久化目录
docker compose up elasticsearch -ddocker cp elasticsearch:/usr/share/elasticsearch/config /data/elasticsearch/
# docker cp <elasticsearch的容器名>:/usr/share/elasticsearch/config /data/elasticsearch/

3. 在es中生成kibana所需的账号密码

# 配置一下 kibana_system 这个账户的自定义密码
# 输入此命令后,需要输入y后,再输入两次yaml文件中配置的密码
# 需要将这个 账号+密码 配置到kibana的yaml中
docker exec -it elasticsearch bin/elasticsearch-reset-password -u kibana_system -i
# -u / --username 该参数指定用户名,必须携带此参数
# -i 该参数指定交互式输入密码。不携带此参数时,将会生成一个随机密码

4. 启动kibana,并将kibana的配置文件复制到宿主机

docker compose up kibana -dmkdir -p /data/kibana
docker cp kibana:/usr/share/kibana/config /data/kibana/

5. 在kibana中生成一组用于存储对象、会话信息和报告数据的加密密钥

docker exec -it kibana kibana-encryption-keys generate
# docker exec -it <kibana的容器名> kibana-encryption-keys generate

生成的密钥如下,密钥可以多次生成:

xpack.encryptedSavedObjects.encryptionKey: 9f51f0ca45e26dffbac3b335b57736c6
xpack.reporting.encryptionKey: cbedf2f1e115ecbc29186065288cb1e6
xpack.security.encryptionKey: f9d61ebab8e544ff397ac271b3feea08

6. 修改kibana的配置文件 kibana.yml ,配置中文语言及密钥

vim /data/kibana/kibana.yml# 在打开的文件中增加如下配置:
i18n.locale: "zh-CN"
xpack.encryptedSavedObjects.encryptionKey: xxx-上一步生成的密钥
xpack.reporting.encryptionKey: xxx-上一步生成的密钥
xpack.security.encryptionKey: xxx-上一步生成的密钥

7. 下线es和kibana,修改docker-compose.yaml文件后重新启动

下线操作如下:

docker compose down elasticsearch
docker compose down kibana

yaml文件如下:

name: local-dev
services:elasticsearch:image: elasticsearch:8.18.0container_name: elasticsearchports:- "9200:9200"- "9300:9300"environment:- discovery.type=single-node- xpack.security.enabled=true- xpack.security.http.ssl.enabled=false- xpack.security.transport.ssl.enabled=false- ES_JAVA_OPTS=-Xms1g -Xmx3g- ELASTIC_PASSWORD=my_elastic_passwordnetworks:- my-networkvolumes:- /data/elasticsearch/data:/usr/share/elasticsearch/data- /data/elasticsearch/config:/usr/share/elasticsearch/config # 此行有改动- es8.18-config:/usr/share/elasticsearch/configrestart: unless-stoppedkibana:image: kibana:8.18.0container_name: kibanaports:- "5601:5601"environment:- ELASTICSEARCH_HOSTS=http://elasticsearch:9200- ELASTICSEARCH_USERNAME=kibana_system- ELASTICSEARCH_PASSWORD=your_kibana_system_passwordnetworks:- my-networkdepends_on:- elasticsearchvolumes:- /data/kibana/config:/usr/share/kibana/config # 此行有改动restart: unless-stoppednetworks:my-network:driver: bridge

上线

docker compose up -d
http://www.zskr.cn/news/47251.html

相关文章:

  • winform播放声音文件,播完成后自动播放下一个文件
  • 2025年EGUOO诺贝尔科学家:深度解析科研赋能膳食营养的范式与边界
  • 2025年EGUOO男士三氨能量:深度解析氨基酸配方的男性健康逻辑
  • 2025年高品质Z型斗式提升机厂家权威推荐榜单:耐用的Z型斗式提升机/正规的Z型斗式提升机/诚信的Z型斗式提升机源头厂家精选
  • NGINX Docker 镜像使用指南
  • Machine Learning - SVM
  • 智能呼叫中心系统测评推荐:从高并发处理到AI能力,深度剖析5大品牌的实战能力
  • 2025年EGUOO纳豆激酶:深度解析心血管膳食补充剂科研链路与市场真实表现
  • 常用设计模式:代理模式
  • 在跳板机的远程桌面中输入ctrl+alt+end
  • 2025 年 11 月管道厂家推荐排行榜,PVC管道,PPR管道,市政管道,民用管道,深塑管道,HDPE波纹管道公司推荐
  • 最佳 3D 文件格式的终极指南
  • 混沌工程
  • 2025年EGUOO冠军代言:深度解析科学营养与竞技精神的双向赋能
  • 邮件系统日志分析常见错误案例盘点
  • revit api 修改视图范围
  • 2025年EGUOO官网深度解析:科研透明视角下的膳食营养窗口
  • 2025年EGUOO副作用揭秘:权威解析其风险与真实表现
  • 2025年11月高密度矩阵肌电生产商概览及口碑分析
  • 2025年EGUOO调理肠胃健壮身体粉:深度解析科学配方与实证功效
  • 2025年EGUOO肠胃片消化酶:深度解析科研配方与肠道屏障修复机制
  • revit 二次开发标准模板
  • 基于MSP430F169微控制器驱动ILI9341液晶屏和XPT2046触摸屏实现方案
  • 实用指南:计算机网络——socket编程
  • 2025年实木全屋定制公司权威推荐榜单:全屋定制加盟/全屋定制十大品牌/全屋定制加盟源头公司精选
  • 插板法 笔记
  • 详细介绍:5-4〔OSCP ◈ 研记〕❘ SQL注入攻击▸基于 UNION 的SQLi
  • 第七届智能控制、测量与信号处理国际学术会议 (ICMSP 2025)
  • C#语言中使用using关键字的介绍
  • P2490 [SDOI2011] 黑白棋 笔记