Containerfile aktualisiert

This commit is contained in:
2026-08-08 07:42:29 +00:00
parent 3dc6ac5ca1
commit 493668ec8d
+11 -13
View File
@@ -16,14 +16,12 @@
############################################################################### ###############################################################################
############################################################################### ###############################################################################
# MULTI-STAGE BUILD ARCHITECTURE # MULTI-STAGE BUILD ARCHITECTURE (Cache-Isolierung)
############################################################################### ###############################################################################
FROM scratch AS ctx # Isolierte Kontext-Stage NUR für die Build-Skripte.
# Änderungen an /configs oder /scripts hebeln dadurch die DNF-Layer (1-5) NICHT mehr aus!
# Kopiere die Build-Skripte und die neuen Konfigurations-Artefakte in den Kontext FROM scratch AS build-ctx
COPY build /build COPY build /build
COPY configs /configs
COPY scripts /scripts
############################################################################### ###############################################################################
# BASE IMAGE # BASE IMAGE
@@ -38,35 +36,35 @@ FROM quay.io/fedora/fedora-kinoite:44
############################################################################### ###############################################################################
# LAYER 1: Repositories einrichten (Ändert sich fast nie) # LAYER 1: Repositories einrichten (Ändert sich fast nie)
RUN --mount=type=bind,from=ctx,source=/build/10-repos.sh,target=/tmp/10-repos.sh \ RUN --mount=type=bind,from=build-ctx,source=/build/10-repos.sh,target=/tmp/10-repos.sh \
--mount=type=cache,dst=/var/cache \ --mount=type=cache,dst=/var/cache \
--mount=type=cache,dst=/var/log \ --mount=type=cache,dst=/var/log \
--mount=type=tmpfs,dst=/tmp \ --mount=type=tmpfs,dst=/tmp \
bash /tmp/10-repos.sh && dnf5 clean all bash /tmp/10-repos.sh && dnf5 clean all
# LAYER 2: Unerwünschte Pakete entfernen (Bereinigungsschicht) # LAYER 2: Unerwünschte Pakete entfernen (Bereinigungsschicht - vorgezogen)
RUN --mount=type=bind,from=ctx,source=/build/20-remove-packages.sh,target=/tmp/20-remove-packages.sh \ RUN --mount=type=bind,from=build-ctx,source=/build/20-remove-packages.sh,target=/tmp/20-remove-packages.sh \
--mount=type=cache,dst=/var/cache \ --mount=type=cache,dst=/var/cache \
--mount=type=cache,dst=/var/log \ --mount=type=cache,dst=/var/log \
--mount=type=tmpfs,dst=/tmp \ --mount=type=tmpfs,dst=/tmp \
bash /tmp/20-remove-packages.sh bash /tmp/20-remove-packages.sh
# LAYER 3: Virtualisierung & Tools (Großer Download - stark gecacht) # LAYER 3: Virtualisierung & Tools (Großer Download - stark gecacht)
RUN --mount=type=bind,from=ctx,source=/build/30-virt.sh,target=/tmp/30-virt.sh \ RUN --mount=type=bind,from=build-ctx,source=/build/30-virt.sh,target=/tmp/30-virt.sh \
--mount=type=cache,dst=/var/cache \ --mount=type=cache,dst=/var/cache \
--mount=type=cache,dst=/var/log \ --mount=type=cache,dst=/var/log \
--mount=type=tmpfs,dst=/tmp \ --mount=type=tmpfs,dst=/tmp \
bash /tmp/30-virt.sh bash /tmp/30-virt.sh
# LAYER 4: Multimedia Stack (Großer Download - stark gecacht) # LAYER 4: Multimedia Stack (Großer Download - stark gecacht)
RUN --mount=type=bind,from=ctx,source=/build/40-multimedia.sh,target=/tmp/40-multimedia.sh \ RUN --mount=type=bind,from=build-ctx,source=/build/40-multimedia.sh,target=/tmp/40-multimedia.sh \
--mount=type=cache,dst=/var/cache \ --mount=type=cache,dst=/var/cache \
--mount=type=cache,dst=/var/log \ --mount=type=cache,dst=/var/log \
--mount=type=tmpfs,dst=/tmp \ --mount=type=tmpfs,dst=/tmp \
bash /tmp/40-multimedia.sh bash /tmp/40-multimedia.sh
# LAYER 5: Flatpak Vorbereitung (Winzig, ganz unten) # LAYER 5: Flatpak Vorbereitung (Winzig, ganz unten)
RUN --mount=type=bind,from=ctx,source=/build/50-prepare-flatpak-for-bazaar.sh,target=/tmp/50-prepare-flatpak-for-bazaar.sh \ RUN --mount=type=bind,from=build-ctx,source=/build/50-prepare-flatpak-for-bazaar.sh,target=/tmp/50-prepare-flatpak-for-bazaar.sh \
--mount=type=tmpfs,dst=/tmp \ --mount=type=tmpfs,dst=/tmp \
bash /tmp/50-prepare-flatpak-for-bazaar.sh bash /tmp/50-prepare-flatpak-for-bazaar.sh
@@ -104,4 +102,4 @@ RUN systemctl enable \
############################################################################### ###############################################################################
# Wir räumen zuerst auf, validieren das System via bootc container lint # Wir räumen zuerst auf, validieren das System via bootc container lint
RUN rm -rf /root/.cache/dnf/* && \ RUN rm -rf /root/.cache/dnf/* && \
bootc container lint bootc container lint