45 lines
988 B
Docker
45 lines
988 B
Docker
FROM debian:12
|
|
|
|
ARG GO_VERSION=1.23.6
|
|
ARG DEBIAN_KERNEL_ABI=6.1.0-43
|
|
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
|
|
RUN apt-get update -qq && apt-get install -y \
|
|
ca-certificates \
|
|
live-build \
|
|
debootstrap \
|
|
squashfs-tools \
|
|
xorriso \
|
|
grub-pc-bin \
|
|
grub-efi-amd64-bin \
|
|
mtools \
|
|
git \
|
|
wget \
|
|
curl \
|
|
tar \
|
|
xz-utils \
|
|
rsync \
|
|
build-essential \
|
|
gcc \
|
|
make \
|
|
perl \
|
|
"linux-headers-${DEBIAN_KERNEL_ABI}-amd64" \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
RUN arch="$(dpkg --print-architecture)" \
|
|
&& case "$arch" in \
|
|
amd64) goarch=amd64 ;; \
|
|
arm64) goarch=arm64 ;; \
|
|
*) echo "unsupported architecture: $arch" >&2; exit 1 ;; \
|
|
esac \
|
|
&& wget -q -O /tmp/go.tar.gz "https://go.dev/dl/go${GO_VERSION}.linux-${goarch}.tar.gz" \
|
|
&& rm -rf /usr/local/go \
|
|
&& tar -C /usr/local -xzf /tmp/go.tar.gz \
|
|
&& rm -f /tmp/go.tar.gz
|
|
|
|
ENV PATH=/usr/local/go/bin:${PATH}
|
|
WORKDIR /work
|
|
|
|
CMD ["/bin/bash"]
|