1
0
mirror of https://github.com/AlmaLinux/ks2rootfs.git synced 2024-12-23 04:23:08 +00:00
ks2rootfs/Dockerfile.all-in-one

75 lines
2.6 KiB
Docker
Raw Normal View History

# ----------------------------------------------------------------------------
# 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 --nogpgcheck --repoid=BaseOS --repoid=AppStream --enablerepo=powertools --enablerepo="epel" \
--repofrompath='BaseOS,https://repo.almalinux.org/almalinux/8.5-beta/BaseOS/$basearch/kickstart/' \
--repofrompath='AppStream,https://repo.almalinux.org/almalinux/8.5-beta/AppStream/$basearch/kickstart/' \
# --repofrompath='powertools,https://repo.almalinux.org/almalinux/8/PowerTools/$basearch/kickstart/' \
install --installroot /mnt/system-root --releasever 8 --setopt=install_weak_deps=False --setopt=tsflags=nodocs -y \
bash \
dnf \
glibc-minimal-langpack \
anaconda-tui \
appliance-tools \
lorax \
subscription-manager \
jq \
tar \
policycoreutils \
pykickstart \
# Optional include to avoid runtime warning -- starts
libblockdev-mdraid \
libblockdev-crypto \
libblockdev-lvm \
libblockdev-dm \
libblockdev-swap \
libblockdev-loop \
libblockdev-nvdimm \
libblockdev-mpath \
# Optional include to avoid runtime warning -- ends
rootfiles \
util-linux-ng \
systemd \
livecd-tools \
pykickstart \
grub2-efi-*64 \
grub2-efi-*64-cdboot \
shim-*64 ; \
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="C.utf8"' > /mnt/system-root/etc/locale.conf; \
touch /mnt/system-root/etc/machine-id; \
rm -rf /var/cache/yum;
#
COPY scripts/ /mnt/system-root/usr/bin
#
# Create Final image from scratch for ks2rootfs
FROM scratch
COPY --from=builder /mnt/system-root/ /
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"]