47 lines
1.4 KiB
Docker
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
|