docker-compose安装elasticsearch和kibana
约 251 字小于 1 分钟
elasticsearch
2025-03-14
docker-compose.yml
version: '3.7'
services:
es:
image: docker.elastic.co/elasticsearch/elasticsearch:8.17.3
container_name: es
environment:
- xpack.security.enabled=true
- discovery.type=single-node
- ELASTIC_PASSWORD=${ELASTIC_PASSWORD}
- "xpack.security.authc.api_key.enabled=true"
- ES_JAVA_OPTS=-Xms2g -Xmx2g # 设置JVM堆内存
- bootstrap.memory_lock=true # 启用内存锁定
ulimits:
memlock:
soft: -1
hard: -1
nofile:
soft: 65536
hard: 65536
cap_add:
- IPC_LOCK
volumes:
- es-data:/usr/share/elasticsearch/data
ports:
- 9200:9200
- 9300:9300
kibana:
container_name: kibana
image: docker.elastic.co/kibana/kibana:8.17.3
environment:
- ELASTICSEARCH_HOSTS=http://es:9200
- ELASTICSEARCH_USERNAME=kibana_system
- ELASTICSEARCH_PASSWORD=${KIBANA_PASSWORD}
ports:
- 5601:5601
depends_on:
- es
volumes:
es-data:
driver: local
密码设置放在.env文件中
注意:docker-compose.yml和.env文件在同一目录下
ELASTIC_PASSWORD=your_elastic_password
KIBANA_PASSWORD=your_kibana_password
启动服务
docekr-compose -f docker-compose.yml up -d
设置 kibana_system 用户密码:
因为 KIBANA_PASSWORD 环境变量不会自动应用于 kibana_system 用户,需要手动设置。
- 进入 Elasticsearch 容器:
docker exec -it es bash
- 运行以下命令设置 kibana_system 用户的密码(替换 your_kibana_password 为 .env 中的 KIBANA_PASSWORD):
bin/elasticsearch-users useradd kibana_system -p your_kibana_password -r kibana_system
- 如果提示用户已存在,使用以下命令重置密码:
bin/elasticsearch-reset-password -u kibana_system -i
- 最后输入 your_kibana_password 并确认。