1. FROM alpine:3.12.4
    2. RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
    3. # 调整时区
    4. RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories && apk update
    5. # 注意 这个配置是为了在alpine中运行二进制文件,如果不安装则无法运行
    6. RUN apk add --update-cache curl bash libc6-compat
    7. WORKDIR /opt/filebeat
    8. COPY filebeat-7.6.2-linux-x86_64.tar.gz /opt
    9. RUN cd /opt && \
    10. tar -xzf filebeat-7.6.2-linux-x86_64.tar.gz -C /opt/filebeat --strip-components=1 && \
    11. rm -f filebeat-7.6.2-linux-x86_64.tar.gz && \
    12. chmod +x /opt/filebeat
    13. RUN chmod go-w *
    14. WORKDIR /opt/apm
    15. COPY apm-server-7.6.2-linux-x86_64.tar.gz /opt
    16. COPY elastic-apm-agent-1.30.1.jar /opt
    17. RUN cd /opt && \
    18. tar -xzf apm-server-7.6.2-linux-x86_64.tar.gz -C /opt/apm --strip-components=1 && \
    19. rm -f apm-server-7.6.2-linux-x86_64.tar.gz && \
    20. chmod +x /opt/apm
    21. CMD ["/bin/sh"]
    FROM alpine:3.12.4
    RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
    # 调整时区
    RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories && apk update
    # 注意 这个配置是为了在alpine中运行二进制文件,如果不安装则无法运行
    RUN apk add --update-cache curl bash libc6-compat
    WORKDIR /opt/filebeat
    
    COPY filebeat-7.6.2-linux-x86_64.tar.gz /opt
    
    RUN cd /opt && \
        tar -xzf filebeat-7.6.2-linux-x86_64.tar.gz -C /opt/filebeat --strip-components=1 && \
        rm -f filebeat-7.6.2-linux-x86_64.tar.gz && \
        chmod +x /opt/filebeat
    
    
    CMD ["/bin/sh"]
    

    docker build -t aslhw/alpine-filebeat-7.6.2 .

    docker push aslhw/alpine-filebeat-7.6.2

    在上面镜像上二次封装JDK

    FROM aslhw/alpine-filebeat-7.6.2
    
    ENV LANG C.UTF-8
    
    RUN { \
            echo '#!/bin/sh'; \
            echo 'set -e'; \
            echo; \
            echo 'dirname "$(dirname "$(readlink -f "$(which javac || which java)")")"'; \
        } > /usr/local/bin/docker-java-home \
        && chmod +x /usr/local/bin/docker-java-home
    ENV JAVA_HOME /usr/lib/jvm/java-1.8-openjdk/jre
    ENV PATH $PATH:/usr/lib/jvm/java-1.8-openjdk/jre/bin:/usr/lib/jvm/java-1.8-openjdk/bin
    
    ENV JAVA_VERSION 8u275
    ENV JAVA_ALPINE_VERSION 8.275.01-r0
    
    RUN set -x \
        && apk add --no-cache \
            openjdk8-jre="$JAVA_ALPINE_VERSION" \
        && [ "$JAVA_HOME" = "$(docker-java-home)" ]
    
    CMD ["/bin/sh"]
    

    docker build -t aslhw/alpine-filebeat-7.6.2 .

    docker push aslhw/alpine-filebeat-7.6.2