封装基于alpine的filebeat---并包含jdk、设置时区

4 篇文章 0 订阅
1 篇文章 0 订阅

封装基于alpine的filebeat—并包含jdk、设置时区

封装基于alpine的filebeat

  1. 去官网下载filebeat
    https://www.elastic.co/cn/beats/filebeat
    我下载的是7.3.1版本,如果有其他需求自行更改版本
  2. 创建文件夹
mkdir /dockerData   /dockerData/filebeat7.3.1   dockerData/filebeat7.3.1/filebeat   dockerData/filebeat7.3.1/filebeat-base
  1. 上传filebeat
    把下载的filebeat上传到/dockerData/filebeat7.3.1中
  2. 封装镜像
    创建dockerfile
vim dockerfile

添加如下内容

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.3.1-linux-x86_64.tar.gz /opt

RUN cd /opt && \
    tar -xzf filebeat-7.3.1-linux-x86_64.tar.gz -C /opt/filebeat --strip-components=1 && \
    rm -f filebeat-7.3.1-linux-x86_64.tar.gz && \
    chmod +x /opt/filebeat

RUN chmod go-w *

CMD ["/bin/sh"]

wq退出保存
封装镜像alpine-filebeat:7.3.1

docker build --rm -t alpine-filebeat:7.3.1 .
  1. 二次封装jdk
cd filebeat-base
vim dokcerfile
FROM alpine-filebeat:7.3.1

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"]

wq退出保存
封装镜像alpine-filebeat7.3.1-jdk8:0.1

docker build --rm -t alpine-filebeat7.3.1-jdk8:0.1 .
  1. 结束
    至此封装完毕,如有上传docker库需要可以查看这条博客
    docker封装镜像并上传
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值