Files
alpine-base/Dockerfile
2025-07-13 06:59:54 -07:00

40 lines
1.3 KiB
Docker

FROM alpine:latest AS builder
LABEL maintainer="fithwum"
ARG ALPINE_VERSION
ENV ALPINE_VERSION=${ALPINE_VERSION}
WORKDIR /builder
# Install tools needed for building rootfs
RUN apk update && apk add --no-cache bash curl wget git jq ca-certificates coreutils tar gzip
# Download alpine-make-rootfs script
RUN wget https://raw.githubusercontent.com/alpinelinux/alpine-make-rootfs/master/alpine-make-rootfs \
&& chmod +x alpine-make-rootfs
# Build the rootfs
RUN ./alpine-make-rootfs \
--branch ${ALPINE_VERSION} \
--mirror http://dl-cdn.alpinelinux.org/alpine/ \
--packages "bash curl ca-certificates nano" \
alpine-rootfs
# Run custom script inside rootfs
COPY base-image-script/alpine-base_pt2.sh /builder/alpine-rootfs/
RUN chmod +x /builder/alpine-rootfs/alpine-base_pt2.sh && \
chroot /builder/alpine-rootfs /alpine-base_pt2.sh || true
# Clean up script
RUN rm -f /builder/alpine-rootfs/alpine-base_pt2.sh
# Package with versioned filename
RUN mkdir -p /output && \
tar -czf /output/alpine-${ALPINE_VERSION}.tar.gz -C alpine-rootfs .
# Final stage just copies the archive
FROM scratch AS export-stage
ARG ALPINE_VERSION
COPY --from=builder /output/alpine-${ALPINE_VERSION}.tar.gz /output/alpine-${ALPINE_VERSION}.tar.gz
CMD ["sleep", "infinity"]