Skip to content

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 用户,需要手动设置。

  1. 进入 Elasticsearch 容器:
docker exec -it es bash
  1. 运行以下命令设置 kibana_system 用户的密码(替换 your_kibana_password 为 .env 中的 KIBANA_PASSWORD):
bin/elasticsearch-users useradd kibana_system -p your_kibana_password -r kibana_system
  1. 如果提示用户已存在,使用以下命令重置密码:
bin/elasticsearch-reset-password -u kibana_system -i
  1. 最后输入 your_kibana_password 并确认。
贡献者: cj

1921年7月23日,中国共产党成立。