码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • docker 构建filebeat镜像


    1. 获取filebeat包

     # 创建构建用的目录

    mkdir -p /opt/docker/build/filebeat

    从官网(Download Filebeat • Lightweight Log Analysis | Elastic)获取tar.gz包(https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.14.2-linux-x86_64.tar.gz),并将tar.gz包上传到/opt/docker/build/filebeat目录下。

    2. 创建dockerfile、docker-entrypoint.sh

     # 编辑dockerfile

    1. cd /opt/docker/build/filebeat
    2. vi dockerfile

     # 将下面的内容添加到dockerfile文件内并保存。

    1. FROM ubuntu:18.04
    2. WORKDIR /usr/share/filebeat
    3. COPY filebeat-7.14.2-linux-x86_64.tar.gz /usr/share
    4. RUN cd /usr/share && \
    5. tar -xzf filebeat-7.14.2-linux-x86_64.tar.gz -C /usr/share/filebeat --strip-components=1 && \
    6. rm -f filebeat-7.14.2-linux-x86_64.tar.gz && \
    7. chmod +x /usr/share/filebeat
    8. ADD ./docker-entrypoint.sh /usr/bin/
    9. RUN chmod +x /usr/bin/docker-entrypoint.sh
    10. ENTRYPOINT ["docker-entrypoint.sh"]
    11. CMD ["/usr/share/filebeat/filebeat","-e","-c","/usr/share/filebeat/filebeat.yml"]

     PS.

     1.设置的工作目录和之前的不太一样,是因为最近搭建elk时根据官方给的elk镜像目录进行的调整。

     2.这里选择ubuntu的原因是其作为底层打包出来的镜像比centos要小很多。我曾经尝试使用alpine:3.7作为底层,但是构建后的镜像运行时报“standard_init_linux.go:190: exec user process caused "no such file or directory"”,故最后还是选择ubuntu。

     # 编辑docker-entrypoint.sh

    vi docker-entrypoint.sh

     # 将下面的内容添加到docker-entrypoint.sh文件内并保存。

    1. #!/bin/bash
    2. set -e
    3. TMP=${PATHS}
    4. config=/usr/share/filebeat/filebeat.yml
    5. if [ ${TMP:0:1} = '/' ] ;then
    6. tmp='"'${PATHS}'"'
    7. fi
    8. env
    9. echo 'Filebeat init process done. Ready for start up.'
    10. echo "Using the following configuration:"
    11. cat /usr/share/filebeat/filebeat.yml
    12. exec "$@"

    3. 构建镜像

     # 构建

    1. cd /opt/docker/build/filebeat
    2. docker build --rm -t filebeat:7.14.2 .

    构建完成后,通过docker images可以看到多了一个filebeat:7.14.2的镜像。

  • 相关阅读:
    Git基本使用介绍
    ChatTTS 开源文本转语音模型本地部署、API使用和搭建WebUI界面(建议收藏)
    微信小程序ibeacon搜索功能制作
    【算法】复习搜索与图论
    快速上手Linux核心命令(九):文件备份与压缩
    命令行连接mongo数据库
    falco 【3】 default macro
    SpringBoot概念、创建和运行及配置文件
    一本通1047;判断能否被3,5,7整除
    Matlab彩色图像卷积的数学原理及纯手工实现
  • 原文地址:https://blog.csdn.net/weixin_45623111/article/details/126028695
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号