ARG ALMALINUX_VERSION=9.5 FROM docker.io/almalinux:${ALMALINUX_VERSION} AS builder # Install almalinux-release and required dependencies RUN mkdir -p /mnt/rootfs; \ dnf -y install --installroot /mnt/rootfs \ almalinux-release \ coreutils-single \ curl-minimal \ glibc-minimal-langpack \ libcurl-minimal \ libusbx \ microdnf \ rootfiles \ --releasever 9 --setopt install_weak_deps=false --nodocs; \ echo '%_install_langs en_US.UTF-8' > /etc/rpm/macros.image-language-conf ;\ dnf reinstall -y \ --installroot /mnt/sys-root \ --releasever 9 \ --setopt install_weak_deps=false \ --nodocs \ krb5-libs ; \ dnf --installroot /mnt/rootfs clean all; # Additional hacks for kickstart file and backward compatable support /mnt/rootfs/var/lib/dnf/history* RUN rm -rf /mnt/rootfs/var/log/dnf* /mnt/rootfs/var/log/yum.* /mnt/rootfs/usr/share/i18n/charmaps /mnt/rootfs/usr/share/i18n/locales ; \ rm -rf /mnt/rootfs/var/cache/dnf/* /mnt/rootfs/var/lib/dnf/repos /mnt/rootfs/boot /mnt/rootfs/dev/null ; \ rm -rf /mnt/rootfs/var/log/hawkey.log /mnt/rootfs/var/log/* ; \ mkdir -p /mnt/rootfs/run/lock; \ /bin/date +%Y%m%d_%H%M > /mnt/rootfs/etc/BUILDTIME; \ echo '%_install_langs C.utf8' > /mnt/rootfs/etc/rpm/macros.image-language-conf; \ echo 'LANG="C.utf8"' > /mnt/rootfs/etc/locale.conf; \ echo 'container' > /mnt/rootfs/etc/dnf/vars/infra; \ touch /mnt/rootfs/etc/.pwd.lock; \ chmod 600 /mnt/rootfs/etc/.pwd.lock; \ touch /mnt/rootfs/run/utmp ;\ chmod 664 /mnt/rootfs/run/utmp ;\ echo '0.000000 1728971976 0.000000' > /mnt/rootfs/etc/adjtime; \ echo '1728971976' >> /mnt/rootfs/etc/adjtime; \ echo 'LOCAL' >> /mnt/rootfs/etc/adjtime; \ # echo '# This file has been generated by the Anaconda Installer.' > /mnt/rootfs/etc/sysconfig/sshd-permitrootlogin ;\ # echo '# Allow root to log in using ssh. Remove this file to opt-out.' >> /mnt/rootfs/etc/sysconfig/sshd-permitrootlogin ;\ # echo 'PERMITROOTLOGIN="-oPermitRootLogin=yes"' >> /mnt/rootfs/etc/sysconfig/sshd-permitrootlogin ;\ echo 'KEYMAP="us"' > /mnt/rootfs/etc/vconsole.conf; \ echo 'FONT="eurlatgr"' >> /mnt/rootfs/etc/vconsole.conf; \ rm -rf /mnt/rootfs/usr/share/locale/en_US@piglati* /mnt/rootfs/run/blkid /mnt/rootfs/var/cache/dnf/.gpgkeyschecked.yum ; \ rm -f /mnt/rootfs/etc/machine-id; \ touch /mnt/rootfs/etc/machine-id; \ touch /mnt/rootfs/etc/resolv.conf; \ touch /mnt/rootfs/etc/hostname # AL9 specific hacks RUN mkdir -p /mnt/rootfs/var/cache/private /mnt/rootfs/var/lib/private /mnt/rootfs/var/lib/systemd/coredump /mnt/rootfs/var/lib/tpm2-tss/system/keystore ;\ mkdir -p /mnt/rootfs/run/cryptsetup /mnt/rootfs/run/lock/subsys /mnt/rootfs/run/log /mnt/rootfs/run/user /mnt/rootfs/run/tpm2-tss/eventlog ;\ mkdir -p /mnt/rootfs/run/systemd/ask-password /mnt/rootfs/run/systemd/machines /mnt/rootfs/run/systemd/seats /mnt/rootfs/run/systemd/sessions /mnt/rootfs/run/systemd/shutdown /mnt/rootfs/run/systemd/users ;\ chmod 700 /mnt/rootfs/var/cache/private ; \ chmod 700 /mnt/rootfs/var/lib/private ; \ chmod 700 /mnt/rootfs/run/cryptsetup ; \ groupadd -R '/mnt/rootfs/' -r -p '!*' -g 996 sgx && groupadd -R '/mnt/rootfs/' -r -p '!*' -g 995 systemd-oom ; \ useradd -R '/mnt/rootfs/' -r -c 'systemd Userspace OOM Killer' -g 995 -u 995 -s '/usr/sbin/nologin' -M -d '/' systemd-oom ; \ sed -i "/sgx/d" /mnt/rootfs/etc/group- ; \ sed -i "/sgx/d" /mnt/rootfs/etc/gshadow- ; \ cd /mnt/rootfs/etc ; \ ln -s ../usr/share/zoneinfo/Asia/Jakarta localtime; FROM scratch ARG ALMALINUX_VERSION=9.5 LABEL maintainer="Muhamad Aditya Prima " LABEL name="almalinux" LABEL version="${ALMALINUX_VERSION}-minimal" LABEL distribution-scope="public" #labels for container catalog LABEL summary="Almalinux 9 minimal container image" LABEL description="Provide latest release of small Almalinux 9 container image" LABEL io.k8s.description="Almalinux 9 Minimal" LABEL io.k8s.display-name="Almalinux 9 Minimal" COPY --from=builder /mnt/rootfs / ENV LANG=C.utf8 CMD ["/bin/bash"]