sdfhdsfhgsdfghfsgdh
This commit is contained in:
94
Dockerfile
94
Dockerfile
@@ -1,13 +1,80 @@
|
|||||||
FROM alpine:latest AS builder
|
# FROM alpine:latest AS builder
|
||||||
LABEL maintainer="fithwum"
|
# LABEL maintainer="fithwum"
|
||||||
|
|
||||||
ARG ALPINE_VERSION
|
# ARG ALPINE_VERSION
|
||||||
ENV ALPINE_VERSION=${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"]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
FROM alpine:3.20 AS builder
|
||||||
|
LABEL maintainer="fithwum"
|
||||||
|
|
||||||
WORKDIR /builder
|
WORKDIR /builder
|
||||||
|
|
||||||
# Install tools needed for building rootfs
|
# Install tools needed for building rootfs
|
||||||
RUN apk update && apk add --no-cache bash curl wget git jq ca-certificates coreutils tar gzip
|
RUN apk update && apk add --no-cache \
|
||||||
|
bash curl wget git jq ca-certificates coreutils \
|
||||||
|
tar gzip
|
||||||
|
|
||||||
# Download alpine-make-rootfs script
|
# Download alpine-make-rootfs script
|
||||||
RUN wget https://raw.githubusercontent.com/alpinelinux/alpine-make-rootfs/master/alpine-make-rootfs \
|
RUN wget https://raw.githubusercontent.com/alpinelinux/alpine-make-rootfs/master/alpine-make-rootfs \
|
||||||
@@ -15,25 +82,24 @@ RUN wget https://raw.githubusercontent.com/alpinelinux/alpine-make-rootfs/master
|
|||||||
|
|
||||||
# Build the rootfs
|
# Build the rootfs
|
||||||
RUN ./alpine-make-rootfs \
|
RUN ./alpine-make-rootfs \
|
||||||
--branch ${ALPINE_VERSION} \
|
--branch v3.20 \
|
||||||
--mirror http://dl-cdn.alpinelinux.org/alpine/ \
|
--mirror http://dl-cdn.alpinelinux.org/alpine \
|
||||||
--packages "bash curl ca-certificates nano" \
|
--packages "bash curl ca-certificates nano" \
|
||||||
alpine-rootfs
|
alpine-rootfs
|
||||||
|
|
||||||
# Run custom script inside rootfs
|
# Run custom script inside rootfs without chroot (simulate setup)
|
||||||
COPY base-image-script/alpine-base_pt2.sh /builder/alpine-rootfs/
|
COPY base-image-script/alpine-base_pt2.sh /builder/alpine-rootfs/
|
||||||
RUN chmod +x /builder/alpine-rootfs/alpine-base_pt2.sh && \
|
RUN chmod +x /builder/alpine-rootfs/alpine-base_pt2.sh && \
|
||||||
chroot /builder/alpine-rootfs /alpine-base_pt2.sh || true
|
chroot /builder/alpine-rootfs /alpine-base_pt2.sh || true
|
||||||
|
|
||||||
# Clean up script
|
# Clean up the part2 script after execution
|
||||||
RUN rm -f /builder/alpine-rootfs/alpine-base_pt2.sh
|
RUN rm -f /builder/alpine-rootfs/alpine-base_pt2.sh
|
||||||
|
|
||||||
# Package with versioned filename
|
# Package it
|
||||||
RUN mkdir -p /output && \
|
RUN mkdir -p /output && \
|
||||||
tar -czf /output/alpine-${ALPINE_VERSION}.tar.gz -C alpine-rootfs .
|
tar -czf /output/alpine-base.tar.gz -C alpine-rootfs .
|
||||||
|
|
||||||
# Final stage just copies the archive
|
# Final image to export tarball
|
||||||
FROM scratch AS export-stage
|
FROM scratch AS export-stage
|
||||||
ARG ALPINE_VERSION
|
COPY --from=builder /output/alpine-base.tar.gz /output/alpine-base.tar.gz
|
||||||
COPY --from=builder /output/alpine-${ALPINE_VERSION}.tar.gz /output/alpine-${ALPINE_VERSION}.tar.gz
|
|
||||||
CMD ["sleep", "infinity"]
|
CMD ["sleep", "infinity"]
|
||||||
Reference in New Issue
Block a user