docker compose搭建elk 8.6.2

发布于:2025-06-13 ⋅ 阅读:(16) ⋅ 点赞:(0)

环境搭建

选用版本是比较新的版本 (ELK) 8.6.2 ,elk的环境做的还是比较好的又windows和Linux多个版本,并且开箱即用。本地直接下载官方软件也是可以的。最近在学习docker compose,就使用这个环境搭建一下。

前置条件

安装好docker和 docker compose

1. compose环境文件夹

mkdir elk && cd elk

2. 创建compose文件

vim docker-compose.yaml

内容如下


version: '3.7'
services:
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:8.6.2  # 官方镜像 
    container_name: elasticsearch
    environment:
      - discovery.type=single-node  # 单节点模式 
      - xpack.security.enabled=false  # 禁用安全认证(测试用)
      - bootstrap.memory_lock=true
      - ES_JAVA_OPTS=-Xms1g -Xmx1g  # JVM 内存分配
    volumes:
      - es_data:/usr/share/elasticsearch/data  # 数据持久化 
    ports:
      - "9200:9200"
    networks:
      - elk

  kibana:
    image: docker.elastic.co/kibana/kibana:8.6.2  # 版本需与 ES 一致 
    container_name: kibana
    environment:
      - ELASTICSEARCH_HOSTS=http://elasticsearch:9200
    ports:
      - "5601:5601"
    networks:
      - elk
    depends_on:
      - elasticsearch

  logstash:
    image: docker.elastic.co/logstash/logstash:8.6.2
    container_name: logstash
    volumes:
      - ./logstash/config/logstash.conf:/usr/share/logstash/pipeline/logstash.conf  # 挂载配置文件 
    environment:
      - LS_JAVA_OPTS=-Xms512m -Xmx512m
    ports:7157
      - "5044:5044"  # Filebeat 输入端口
    networks:
      - elk
    depends_on:
      - elasticsearch

volumes:
  es_data:  # Elasticsearch 数据卷
    driver: local

networks:
  elk:  # 自定义网络确保服务互通
    driver: bridge

3. 创建logstash文件夹及配置

mkdir -p logstash/config

echo 'input { beats { port => 5044 } } output { elasticsearch { hosts => ["http://elasticsearch:9200"] } }' > logstash/config/logstash.conf

4. 启动

docker compose up -d

前置条件

安装好docker和 docker compose

1. compose环境文件夹

mkdir elk && cd elk

2. 创建compose文件

vim docker-compose.yaml

内容如下


version: '3.7'
services:
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:8.6.2  # 官方镜像 
    container_name: elasticsearch
    environment:
      - discovery.type=single-node  # 单节点模式 
      - xpack.security.enabled=false  # 禁用安全认证(测试用)
      - bootstrap.memory_lock=true
      - ES_JAVA_OPTS=-Xms1g -Xmx1g  # JVM 内存分配
    volumes:
      - es_data:/usr/share/elasticsearch/data  # 数据持久化 
    ports:
      - "9200:9200"
    networks:
      - elk

  kibana:
    image: docker.elastic.co/kibana/kibana:8.6.2  # 版本需与 ES 一致 
    container_name: kibana
    environment:
      - ELASTICSEARCH_HOSTS=http://elasticsearch:9200
    ports:
      - "5601:5601"
    networks:
      - elk
    depends_on:
      - elasticsearch

  logstash:
    image: docker.elastic.co/logstash/logstash:8.6.2
    container_name: logstash
    volumes:
      - ./logstash/config/logstash.conf:/usr/share/logstash/pipeline/logstash.conf  # 挂载配置文件 
    environment:
      - LS_JAVA_OPTS=-Xms512m -Xmx512m
    ports:7157
      - "5044:5044"  # Filebeat 输入端口
    networks:
      - elk
    depends_on:
      - elasticsearch

volumes:
  es_data:  # Elasticsearch 数据卷
    driver: local

networks:
  elk:  # 自定义网络确保服务互通
    driver: bridge

3. 创建logstash文件夹及配置

mkdir -p logstash/config

echo 'input { beats { port => 5044 } } output { elasticsearch { hosts => ["http://elasticsearch:9200"] } }' > logstash/config/logstash.conf

4. 启动

docker compose up -d

5. 访问验证

elasticsearch

http://localhost:9200/

账号:elastic
密码:elastic

kanaba

http://localhost:5601/

5. 访问验证

elasticsearch

http://localhost:9200/

账号:elastic
密码:elastic

kanaba

http://localhost:5601/

在这里插入图片描述
在这里插入图片描述
代码地址
docker compose搭建elk环境