Docker实现安装ELK(单节点)例子解析

在这里插入图片描述

代码示例:

要使用Docker安装ELK(Elasticsearch、Logstash、Kibana)单节点,可以按照以下步骤进行:

  1. 创建Docker网络

    docker network create -d bridge elastic
    
  2. 拉取Elasticsearch镜像(以8.4.3版本为例):

    docker pull elasticsearch:8.4.3
    
  3. 运行Elasticsearch容器(第一次运行时不要使用-d参数,以便查看初始密码和token):

    docker run -it \
    -p 9200:9200 \
    -p 9300:9300 \
    --name elasticsearch \
    --net elastic \
    -e ES_JAVA_OPTS="-Xms1g -Xmx1g" \
    -e "discovery.type=single-node" \
    -e LANG=C.UTF-8 \
    -e LC_ALL=C.UTF-8 \
    elasticsearch:8.4.3
    

    运行后,记录控制台显示的elastic用户的密码和enrollment token。

  4. 创建Elasticsearch数据和配置的挂载目录

    mkdir -p /data/apps/elk8.4.3/elasticsearch
    
  5. 将Elasticsearch容器内的配置文件复制到主机

    docker cp elasticsearch:/usr/share/elasticsearch/config /data/apps/elk8.4.3/elasticsearch/
    docker cp elasticsearch:/usr/share/elasticsearch/data /data/apps/elk8.4.3/elasticsearch/
    docker cp elasticsearch:/usr/share/elasticsearch/plugins /data/apps/elk8.4.3/elasticsearch/
    docker cp elasticsearch:/usr/share/elasticsearch/logs /data/apps/elk8.4.3/elasticsearch/
    
  6. 删除旧的Elasticsearch容器

    docker rm -f elasticsearch
    
  7. 使用挂载卷重新运行Elasticsearch容器

    docker run -it \
    -d \
    -p 9200:9200 \
    -p 9300:9300 \
    --name elasticsearch \
    --net elastic \
    -e ES_JAVA_OPTS="-Xms1g -Xmx1g" \
    -e "discovery.type=single-node" \
    -e LANG=C.UTF-8 \
    -e LC_ALL=C.UTF-8 \
    -v /data/apps/elk8.4.3/elasticsearch/config:/usr/share/elasticsearch/config \
    -v /data/apps/elk8.4.3/elasticsearch/data:/usr/share/elasticsearch/data \
    -v /data/apps/elk8.4.3/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
    -v /data/apps/elk8.4.3/elasticsearch/logs:/usr/share/elasticsearch/logs \
    elasticsearch:8.4.3
    
  8. 拉取并运行Kibana容器(以8.4.3版本为例):

    docker run -it \
    -d \
    --restart=always \
    --log-driver json-file \
    --log-opt max-size=100m \
    --log-opt max-file=2 \
    --name kibana \
    -p 5601:5601 \
    --net elastic \
    -v /data/apps/elk8.4.3/kibana/config:/usr/share/kibana/config \
    -v /data/apps/elk8.4.3/kibana/data:/usr/share/kibana/data \
    -v /data/apps/elk8.4.3/kibana/plugins:/usr/share/kibana/plugins \
    -v /data/apps/elk8.4.3/kibana/logs:/usr/share/kibana/logs \
    kibana:8.4.3
    
  9. 访问Kibana
    打开浏览器访问 http://<你的服务器IP>:5601,使用步骤3中记录的elastic用户密码进行认证。

  10. (可选)配置Filebeat

    • 拉取Filebeat镜像:
      docker pull elastic/filebeat:8.4.3
      
    • 运行Filebeat容器:
      docker run -it \
      -d \
      --name filebeat \
      --network host \
      -e TZ=Asia/Shanghai \
      -v /data/apps/elk8.4.3/filebeat/filebeat.yml:/usr/share/filebeat/filebeat.yml \
      -v /data/apps/elk8.4.3/filebeat/data:/usr/share/filebeat/data \
      -v /data/apps/elk8.4.3/filebeat/logs:/usr/share/filebeat/logs \
      elastic/filebeat:8.4.3 \
      filebeat -e  -c /usr/share/filebeat/filebeat.yml
      

请注意,以上步骤中的数据目录和配置目录路径需要根据实际情况进行调整。此外,确保Docker服务正在运行,并且你有足够的权限来执行这些命令。

喜欢本文,请点赞、收藏和关注!

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乔丹搞IT

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值