基于Alpine镜像的 Filebeat Dockerfile


docker pull liaojl/filebeat:latest


FROM alpine:3.8

RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories && apk update

ENV FILEBEAT_VERSION=6.5.4

RUN apk add --no-cache -t .build-deps wget \
  && apk add --no-cache libc6-compat \
  && wget -q -O /tmp/filebeat.tar.gz https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-${FILEBEAT_VERSION}-linux-x86_64.tar.gz \
  && cd /tmp \
  && tar xzvf filebeat.tar.gz \
  && cd filebeat-* \
  && cp filebeat /bin \
  && mkdir -p /etc/filebeat \
  && cp filebeat.yml /etc/filebeat/filebeat.example.yml \
  && rm -rf /tmp/filebeat* \
  && apk del --purge .build-deps


三个关键点:

  1. 使用阿里云镜像仓库地址以提高下载速度
  2. 安装libc-compat
  3. 使用-t参数,使用完 wget 后删除,以减小镜像体积

最终镜像体积大小为:41.6MB