mirror of
https://github.com/kubeshark/kubeshark.git
synced 2025-08-20 09:26:00 +00:00
* Add from ARM64 to AMD64 cross-compilation support to the agent image * Replace `RUN`s with `&&` Co-authored-by: gadotroee <55343099+gadotroee@users.noreply.github.com>
32 lines
1.5 KiB
Docker
32 lines
1.5 KiB
Docker
FROM messense/rust-musl-cross:x86_64-musl AS builder-from-arm64v8-to-amd64
|
|
|
|
ENV CROSS_TRIPLE x86_64-unknown-linux-musl
|
|
ENV CROSS_ROOT /usr/local/musl
|
|
|
|
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
|
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
|
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
|
CPP=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-cpp \
|
|
CXX=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-g++ \
|
|
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
|
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
|
|
|
# Install Go
|
|
WORKDIR /
|
|
RUN curl https://go.dev/dl/go1.17.6.linux-arm64.tar.gz -Lo ./go.linux-arm64.tar.gz \
|
|
&& curl https://go.dev/dl/go1.17.6.linux-arm64.tar.gz.asc -Lo ./go.linux-arm64.tar.gz.asc \
|
|
&& curl https://dl.google.com/dl/linux/linux_signing_key.pub -Lo linux_signing_key.pub \
|
|
&& gpg --import linux_signing_key.pub && gpg --verify ./go.linux-arm64.tar.gz.asc ./go.linux-arm64.tar.gz \
|
|
&& rm -rf /usr/local/go && tar -C /usr/local -xzf go.linux-arm64.tar.gz
|
|
ENV PATH "$PATH:/usr/local/go/bin"
|
|
|
|
# Compile libpcap from source
|
|
RUN curl https://www.tcpdump.org/release/libpcap-1.10.1.tar.gz -Lo ./libpcap.tar.gz \
|
|
&& curl https://www.tcpdump.org/release/libpcap-1.10.1.tar.gz.sig -Lo ./libpcap.tar.gz.sig \
|
|
&& curl https://www.tcpdump.org/release/signing-key.asc -Lo ./signing-key.asc \
|
|
&& gpg --import signing-key.asc && gpg --verify libpcap.tar.gz.sig libpcap.tar.gz \
|
|
&& tar -xzf libpcap.tar.gz && mv ./libpcap-* ./libpcap
|
|
WORKDIR /libpcap
|
|
RUN ./configure --host=x86_64 && make \
|
|
&& cp /libpcap/libpcap.a /usr/local/musl/lib/gcc/x86_64-unknown-linux-musl/*/
|