Docker 下安装 ElasticSearch 和 Kibana (单节点)

[复制链接]
发表于 2026-1-8 02:58:21 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
Docker 下安装 ElasticSearch 和 Kibana (单节点)

Docker 安装 ES

创建 docker 网络

须要 docker 中的 es 和 kibana 举行网络通讯,利用 docker 网络举行容器间通讯
  1. # 创建名为 es-network 的桥接网络
  2. docker network create es-network
  3. # 查询 docker 网络
  4. docker network ls
  5. 输出如下:
  6. NETWORK ID     NAME         DRIVER    SCOPE
  7. b569d3366b85   bridge       bridge    local
  8. 8ab6a69d63df   es-network   bridge    local
  9. 7650772bc095   host         host      local
  10. 44734947ec78   none         null      local
复制代码
下载 ES 镜像
  1. # 指定 es 版本下载
  2. docker pull elasticsearch:7.17.9
复制代码
运行容器

若须要挂载容器卷,须提前创建文件夹
  1. # 完整版命令
  2. docker run -d --name elasticsearch -e "discovery.type=single-node" -p 9200:9200 -p 9300:9300 -e "ES_JAVA_OPTS=-Xms1G -Xmx1G"  -v D:\dev\docker\es\data:/usr/share/elasticsearch/data -v D:\dev\docker\es\logs:/usr/share/elasticsearch/logs  -v D:\dev\docker\es\plugins:/usr/share/elasticsearch/plugins  --network es-network elasticsearch:7.17.9
  3. # 简化版命令
  4. docker run -d --name elasticsearch -e "discovery.type=single-node" -p 9200:9200 -p 9300:9300 --network es-network elasticsearch:7.17.9
  5. # 命令解释
  6. -e "discovery.type=single-node" :单节点运行
  7. -p 9200:9200 -p 9300:9300 :指定端口号映射;9200是HTTP API端口、9300是集群间节点通信端口
  8. -e "ES_JAVA_OPTS=-Xms1G -Xmx1G" :指定初始堆内存和最大堆内存,避免因内存不足而导致性能问题或崩溃。通常议将这两个值设置为相同,以优化性能。
  9. -v /xxx/xxx/xxx :挂载卷,用于将docker容器内的文件与宿主机进行同步
  10. --network es-network :将es容器加入网络,用于与kibana通信
复制代码
验证安装

欣赏器输入 localhost:9200 ,有如下输出阐明安装乐成
  1. {
  2.   "name" : "e41442030a3f",
  3.   "cluster_name" : "docker-cluster",
  4.   "cluster_uuid" : "bq17ajCvSdGBIPr38JrPNQ",
  5.   "version" : {
  6.     "number" : "7.17.9",
  7.     "build_flavor" : "default",
  8.     "build_type" : "docker",
  9.     "build_hash" : "ef48222227ee6b9e70e502f0f0daa52435ee634d",
  10.     "build_date" : "2023-01-31T05:34:43.305517834Z",
  11.     "build_snapshot" : false,
  12.     "lucene_version" : "8.11.1",
  13.     "minimum_wire_compatibility_version" : "6.8.0",
  14.     "minimum_index_compatibility_version" : "6.0.0-beta1"
  15.   },
  16.   "tagline" : "You Know, for Search"
  17. }
复制代码
设置用户暗码


  • 开启 xpack.security
修改文件: /usr/share/elasticsearch/config/elasticsearch.yml,末端追加下述设置 xpack.security.enabled: true
文件修改方式:

  • 利用 docker cp 下令完成容器和宿主机的文件传输,举行文件修改,

    • 容器 -> 宿主机:docker cp elasticsearch:/usr/share/elasticsearch/config.elasticsearch.yml D:/xxx/xxx
    • 宿主机 -> 容器:docker cp D:/xxx/xxx elasticsearch:/usr/share/elasticsearch/config.elasticsearch.yml
    参数表明:docker cp path1 path2
    – path1 文件复制源路径
    – path2 文件复制目的路径
    若路径为容器内的路径,则需写为: 容器名称:路径
    如:elasticsearch:/usr/share/elasticsearch/config.elasticsearch.yml

  • 直接利用 docker 桌面版举行修改


  • 设置暗码

    • 手动
    1. # 进入目录
    2. cd /usr/share/elasticsearch/bin
    3. # 手动设置用户名和密码,手动输入
    4. elasticsearch-setup-passwords interactive
    复制代码

    • 自动
    1. # 进入目录
    2. cd /usr/share/elasticsearch/bin
    3. # 自动生成,密码要保存好
    4. elasticsearch-setup-passwords auto
    复制代码
  • 重启镜像
  1. docker restart elasticsearch
复制代码

  • 验证
欣赏器输入 localhost:9200 ,弹出输入用户名和暗码弹窗,登录并检察输出;用户名为:elastic。
Docker 安装 Kibana

下载 Kibana 镜像
  1. # 指定版本下载 kibana
  2. # 要和上面的 es 的版本相同
  3. docker pull kibana:7.17.9
复制代码
运行容器
  1. docker run -d --name kibana1 -p 5601:5601 --network es-network -e "ELASTICSEARCH_HOSTS=http://elasticsearch:9200" kibana:7.17.9
  2. # 参数解释
  3. -p 5601:5601 :端口映射
  4. --network es-network : 加入docker网络,用于与elasticsearch通信
  5. -e "ELASTICSEARCH_HOSTS=http://elasticsearch:9200" :指定es地址,可以用 `容器名称` 代替
复制代码
更改设置

修改 /usr/share/kibana/config/kibana.yml
  1. # 添加以下配置
  2. i18n.locale: "zh-CN"   # 设置kibana为中文
  3. csp.strict: false      # 内容安全策略,调试模型设置为false’
  4. # 以下为 kibana 连接es的用户名和密码,若es没开启认证,以下配置可以不加
  5. elasticsearch.username: "kibana_system"
  6. elasticsearch.password: "admin123"
复制代码
重启 kibana 容器,进入 localhost:5601,举行登录,若es开启了认证,则需输入账号暗码;
Kibana常勤劳能

菜单栏阐明


只先容常用、焦点功能

  • Analytics: 分析模块,用于 ES 查询分析

    • Discover: 用于 ES 查询的用户界面
    • Dashboard、 Canvas、Maps :该模块紧张用于可视化展示,可以根据自身需求设置展示数据、展示方式等。

  • Management:体系设置

    • 开发工具:编写 DSL 语句,与 ES 交互的工具;
    • Stack Management : 体系设置模块

      • 索引管理 : 对所毗连 ES 的索引举行管理,包罗:索引设置、索引删除、索引映射修改、索引模板等。
      • 安全:对体系的权限举行控制,体现左侧菜单栏的体现等。
      • 索引模式:管理索引模式,只有能被索引模式匹配的数据,才会在 Analytics 中展示,索引模式支持利用 * 举行通用符匹配
      1. 如:
      2. 1. log-test01、 log-test02、 log-test03 索引会被 log*、log-*、log-test* 索引模式匹配
      3. 2. system_info 索引会被 system_info 索引模式匹配(具体指定,不使用通配符)
      复制代码

导入示例数据


  • 进入 http://localhost:5601/app/integrations/browse 数据集成设置页面,点击集成 样例数据,选择任一样例数据;
  • 点击菜单栏中 Analytics ,检察Discover Dashboard Canvas Maps等。
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表