ebpf_exporter

Форк
0
/
Dockerfile 
55 строк · 1.6 Кб
1
# libbpf
2
FROM debian:bookworm as libbpf_builder
3

4
RUN apt-get update && \
5
    apt-get install -y --no-install-recommends git ca-certificates gcc make pkg-config libelf-dev
6

7
COPY ./ /build/ebpf_exporter
8

9
RUN make -j $(nproc) -C /build/ebpf_exporter libbpf.a && \
10
    tar -C /build/ebpf_exporter/libbpf/dest -czf /build/libbpf.tar.gz .
11

12
# ebpf_exporter binary
13
FROM golang:1.22-bookworm as ebpf_exporter_builder
14

15
RUN apt-get update && \
16
    apt-get install -y libelf-dev pci.ids
17

18
COPY --from=libbpf_builder /build/ebpf_exporter/libbpf /build/ebpf_exporter/libbpf
19

20
COPY ./ /build/ebpf_exporter
21

22
RUN make -j $(nproc) -C /build/ebpf_exporter build && \
23
    /build/ebpf_exporter/ebpf_exporter --version
24

25

26
# examples
27
FROM debian:bookworm as examples_builder
28

29
RUN apt-get update && \
30
    apt-get install -y clang make
31

32
COPY --from=libbpf_builder /build/ebpf_exporter/libbpf /build/ebpf_exporter/libbpf
33

34
COPY ./ /build/ebpf_exporter
35

36
RUN make -j $(nproc) -C /build/ebpf_exporter/examples
37

38

39
# ebpf_exporter release image
40
FROM gcr.io/distroless/static-debian11 as ebpf_exporter
41

42
COPY --from=ebpf_exporter_builder /build/ebpf_exporter/ebpf_exporter /ebpf_exporter
43
COPY --from=ebpf_exporter_builder /usr/share/misc/pci.ids /usr/share/misc/pci.ids
44

45
ENTRYPOINT ["/ebpf_exporter"]
46

47

48
# ebpf_exporter release image with examples bundled
49
FROM gcr.io/distroless/static-debian11 as ebpf_exporter_with_examples
50

51
COPY --from=ebpf_exporter_builder /build/ebpf_exporter/ebpf_exporter /ebpf_exporter
52
COPY --from=ebpf_exporter_builder /usr/share/misc/pci.ids /usr/share/misc/pci.ids
53
COPY --from=examples_builder /build/ebpf_exporter/examples /examples
54

55
ENTRYPOINT ["/ebpf_exporter"]
56

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.