docker搭建es并安装kibana可视化

393 阅读1分钟

前言

本地想部署es开发测试使用,网上找了一圈,不知道是版本还是什么问题,都不是很适用,自己结合gpt、博客等摸索搭好了,算是分享也算记录

环境说明

软件版本
系统win11
docker27.2.0
docker-composev2.29.2-desktop.2
es8.15.3
kibana8.15.3

yaml配置

  elasticsearch:
    image: elasticsearch:8.15.3
    container_name: elasticsearch
    environment:
      TZ: "Asia/Shanghai"
      - discovery.type=single-node
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    volumes:
      - /data/esdata:/usr/share/elasticsearch/data
      - ./services/elasticsearch/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
    hostname: elasticsearch
    restart: always
    ports:
      - "9200:9200"
      - "9300:9300"

  kibana:
    image: kibana:8.15.3
    container_name: kibana
    environment:
      TZ: "Asia/Shanghai"
      elasticsearch.hosts: http://elasticsearch:9200
      elasticsearch.username: ""
      elasticsearch.password: ""
      I18N_LOCALE: "zh-CN"
    volumes:
      - ./services/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml
    hostname: kibana
    depends_on:
      - elasticsearch
    restart: always
    ports:
      - "5601:5601"

  networks:
    default:
      driver: bridge
      ipam:
        driver: default

安装说明

  • yaml中es和kibana挂载在本地的配置文件,需要从容器中另存到本地,所以先启动容器再保存一下配置文件
  • 开启es的认证,配置es密码
    • 创建新的账户密码(kibanaUI界面登录使用
    • 修改默认elastic的密码(kibana配置文件使用,默认的elsatic不允许kibana来登录
  • 在kibana.yaml中配置es设置的密码

操作步骤

  • 启动容器
    docker-compose up -d
  • 保存es和kibana的配置文件,并拷贝到映射目录
docker cp 容器名字或ID:/usr/share/kibana/config/kibana.yml  d:/kibana.yml
docker cp 容器名字或ID:/usr/share/elasticsearch/config/elasticsearch.yml  d:/elasticsearch.yml
  • 修改es默认账户elastic密码
bin/elasticsearch-reset-password -u elastic
  • 创建新的账号密码
bin/elasticsearch-reset-password -u kibana_system
  • 下面是我修改好之后的配置
    • elasticsearch.yaml
cluster.name: "docker-cluster"
network.host: 0.0.0.0
xpack.security.enabled: true
  • kibana.yml
server.host: "0.0.0.0"
server.shutdownTimeout: "5s"
elasticsearch.hosts: [ "http://elasticsearch:9200" ]
monitoring.ui.container.elasticsearch.enabled: true
elasticsearch.username: "kibana_system"
elasticsearch.password: "ozhLCiIR=hQKTM54jomY"
  • 重启所有的容器

登录

  • 输入elastic的账号密码 image.png