码农知识堂 - 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的镜像。

  • 相关阅读:
    等额本金和等额本息还款方式的差异分析
    向毕业妥协系列之机器学习笔记:构建ML系统(二)
    GitHub 标星 15w,如何用 Python 实现所有算法?
    机器学习之scikit-learn基础教程
    【Vue.js设计与实现】第3章 Vue.js 3 的设计思路
    Spring容器启动流程
    utils工具 常见函数
    IP组播协议基础6(SSM Mapping)
    数据库备份与恢复(实战mysqldump+bin-log)
    IDEA常用插件合集
  • 原文地址:https://blog.csdn.net/weixin_45623111/article/details/126028695
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号