debian/Dockerfile

47 lines
1.4 KiB
Docker

FROM debian:stable as builder
RUN set -xe;\
apt-get update &&\
apt-get install -y debootstrap &&\
debootstrap --include=apt,ca-certificates,curl --foreign --variant=minbase buster /dest &&\
sed -i 's/setup_proc//' /dest/debootstrap/suite-script
FROM scratch as bootstrapped
COPY --from=builder /dest /
RUN set -xe;\
/debootstrap/debootstrap --second-stage &&\
rm -rf /var/cache/apt/archives/* &&\
rm -rf /var/lib/apt/lists/*
FROM bootstrapped as toolbuilder
ENV GOSU_VERSION="1.12"
ENV DUMB_INIT_VERSION="1.2.2"
RUN set -xe;\
apt-get update &&\
apt-get install -y git golang &&\
git clone https://github.com/tianon/gosu.git /build &&\
cd /build &&\
git checkout $GOSU_VERSION &&\
go get || echo 0; go build
RUN set -xe;\
apt-get install -y build-essential &&\
cd / &&\
curl -LO https://github.com/Yelp/dumb-init/archive/v${DUMB_INIT_VERSION}.tar.gz &&\
tar xvzf v${DUMB_INIT_VERSION}.tar.gz &&\
cd dumb-init-${DUMB_INIT_VERSION} &&\
make &&\
cp dumb-init /
FROM bootstrapped
ARG DATE
ENV GOSU_VERSION="1.12"
ENV DUMB_INIT_VERSION="1.2.2"
COPY --from=toolbuilder /build/build /usr/local/sbin/gosu
COPY --from=toolbuilder /dumb-init /usr/local/sbin/dumb-init
COPY apt-install /bin/apt-install
COPY checkupdates /bin/checkupdates
CMD "bash"
LABEL version.debian=buster \
version.gosu=$GOSU_VERSION \
version.dumb-init=$DUMB_INIT_VERSION \
build.date=$DATE