Some checks failed
Build Alpine RootFS and Docker Image (latest) / build-rootfs (push) Failing after 4s
Build Alpine RootFS and Docker Image (latest) / push-tarball (push) Has been skipped
Build Alpine RootFS and Docker Image (latest) / push-docker (push) Has been skipped
Build Alpine RootFS and Docker Image (latest) / update-changelog (push) Has been skipped
Build Alpine RootFS and Docker Image (latest) / update-build-info (push) Has been skipped
37 lines
1.2 KiB
Docker
37 lines
1.2 KiB
Docker
FROM alpine:3.20 AS builder
|
|
LABEL maintainer="fithwum"
|
|
|
|
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 v3.20 \
|
|
--mirror http://dl-cdn.alpinelinux.org/alpine \
|
|
--packages "bash curl ca-certificates nano" \
|
|
alpine-rootfs
|
|
|
|
# Run custom script inside rootfs without chroot (simulate setup)
|
|
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 the part2 script after execution
|
|
RUN rm -f /builder/alpine-rootfs/alpine-base_pt2.sh
|
|
|
|
# Package it
|
|
RUN mkdir -p /output && \
|
|
tar -czf /output/alpine-base.tar.gz -C alpine-rootfs .
|
|
|
|
# Final image to export tarball
|
|
FROM scratch AS export-stage
|
|
COPY --from=builder /output/alpine-base.tar.gz /output/alpine-base.tar.gz
|
|
CMD ["sleep", "infinity"] |