前言
本地想部署es开发测试使用,网上找了一圈,不知道是版本还是什么问题,都不是很适用,自己结合gpt、博客等摸索搭好了,算是分享也算记录
环境说明
| 软件 | 版本 |
|---|---|
| 系统 | win11 |
| docker | 27.2.0 |
| docker-compose | v2.29.2-desktop.2 |
| es | 8.15.3 |
| kibana | 8.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的账号密码