# ---------------------------------------------------------------------------- # Multi stage docker build for live cd tools in docker/container environment # AlmaLinux Init + Live CD Tools + PyKickStart # ---------------------------------------------------------------------------- FROM almalinux:8 as builder RUN dnf install -y epel-release && \ # dnf upgrade -y && \ mkdir -p /mnt/system-root /mnt/system-root/build; \ dnf install --enablerepo="powertools" --enablerepo="epel" --installroot /mnt/system-root --releasever 8 --setopt=install_weak_deps=False --setopt=tsflags=nodocs -y \ dnf \ systemd \ livecd-tools \ pykickstart \ glibc-langpack-en \ grub2-efi-*64 \ grub2-efi-*64-cdboot \ shim-*64 \ # Optional includes -- starts jq \ tar \ libblockdev-mdraid \ libblockdev-crypto \ libblockdev-lvm \ libblockdev-dm \ libblockdev-swap \ libblockdev-loop \ libblockdev-nvdimm \ libblockdev-mpath \ rootfiles \ # Optional includes to avoid runtime warning -- ends ; \ rm -rf /mnt/system-root/var/cache/* ; \ dnf clean all; \ # Temp fix for dnf until fix is ported to EL8 # imgcreate.errors.MountError: Unable to unmount filesystem at /var/tmp/imgcreate-XXXXXX/install_root/var/cache/dnf. # cwd=$PWD \ # cd /mnt/system-root/usr/lib/python3.6/site-packages/dnf/ ;\ # mv base.py base.py_saved ;\ # curl -LO https://raw.githubusercontent.com/AlmaLinux/sig-livemedia/build-fix/work/scripts/base.py ; \ # cd $cwd ; \ # cp /etc/yum.repos.d/e* /mnt/system-root/etc/yum.repos.d/ ; \ /bin/date +%Y%m%d_%H%M > /mnt/system-root/etc/BUILDTIME ;\ # set DNF infra variable to container for compatibility with CentOS # echo 'container' > /mnt/system-root/etc/dnf/vars/infra; \ # install only en_US.UTF-8 locale files, see # https://fedoraproject.org/wiki/Changes/Glibc_locale_subpackaging for details # echo '%_install_langs en_US.UTF-8' > /mnt/system-root/etc/rpm/macros.image-language-conf; \ echo 'LANG="en_US.UTF-8"' > /etc/locale.conf; \ touch /mnt/system-root/etc/machine-id; \ rm -rf /var/cache/yum; # Create Final image from scratch for ks2rootfs FROM scratch COPY --from=builder /mnt/system-root/ / # systemd-udev-trigger.service \ # systemd-udevd.service \ # systemd-random-seed.service \ # systemd-remount-fs.service \ #sys-fs-fuse-connections.mount \ RUN systemctl mask \ dev-hugepages.mount \ systemd-logind.service \ getty.target \ console-getty.service \ systemd-machine-id-commit.service WORKDIR /build STOPSIGNAL SIGRTMIN+3 CMD ["/sbin/init"] #ENTRYPOINT ["/bin/bash"]