Implement CI/CD workflow with GitHub Actions: - to build, test and push container images to Client Library. - to publish images to the Docker Official Library. Add documentation: README.md
81 lines
3.0 KiB
Plaintext
81 lines
3.0 KiB
Plaintext
ARG SYSBASE=almalinux:8
|
|
FROM ${SYSBASE} as system-build
|
|
|
|
RUN mkdir -p /mnt/sys-root; \
|
|
dnf install --installroot /mnt/sys-root --releasever 8 --setopt install_weak_deps=false --nodocs -y \
|
|
almalinux-release \
|
|
bash \
|
|
coreutils-single \
|
|
crypto-policies-scripts \
|
|
findutils \
|
|
gdb-gdbserver \
|
|
glibc-minimal-langpack \
|
|
gzip \
|
|
langpacks-en \
|
|
libuser \
|
|
passwd \
|
|
procps-ng \
|
|
rootfiles \
|
|
systemd \
|
|
tar \
|
|
usermode \
|
|
vim-minimal \
|
|
virt-what \
|
|
which \
|
|
yum \
|
|
;
|
|
# Additional hacks for kickstart file and backward compatable support
|
|
RUN rm -rf /mnt/sys-root/var/log/dnf* /mnt/sys-root/var/log/yum.* /mnt/sys-root/var/cache/dnf/* /mnt/sys-root/var/lib/dnf/repos; \
|
|
rm -rf /mnt/sys-root/var/log/hawkey.log /mnt/sys-root/boot /mnt/sys-root/dev/null /mnt/sys-root/var/log/* /mnt/sys-root/run/blkid ; \
|
|
mkdir -p /mnt/sys-root/run/lock; \
|
|
# generate build time file for compatibility with CentOS /mnt/sys-root/run/* /mnt/sys-root/var/lib/dnf/history*
|
|
/bin/date +%Y%m%d_%H%M > /mnt/sys-root/etc/BUILDTIME; \
|
|
echo '%_install_langs C.utf8' > /mnt/sys-root/etc/rpm/macros.image-language-conf; \
|
|
echo 'LANG="C.utf8"' > /mnt/sys-root/etc/locale.conf; \
|
|
echo 'container' > /mnt/sys-root/etc/dnf/vars/infra; \
|
|
touch /mnt/sys-root/etc/.pwd.lock; \
|
|
chmod 600 /mnt/sys-root/etc/.pwd.lock; \
|
|
touch /mnt/sys-root/run/utmp ;\
|
|
chmod 664 /mnt/sys-root/run/utmp ;\
|
|
echo '0.0 0 0.0' > /mnt/sys-root/etc/adjtime; \
|
|
echo '0' >> /mnt/sys-root/etc/adjtime; \
|
|
echo 'UTC' >> /mnt/sys-root/etc/adjtime; \
|
|
echo '# This file has been generated by the Anaconda Installer.' > /mnt/sys-root/etc/sysconfig/sshd-permitrootlogin ;\
|
|
echo '# Allow root to log in using ssh. Remove this file to opt-out.' >> /mnt/sys-root/etc/sysconfig/sshd-permitrootlogin ;\
|
|
echo 'PERMITROOTLOGIN="-oPermitRootLogin=yes"' >> /mnt/sys-root/etc/sysconfig/sshd-permitrootlogin ;\
|
|
echo 'KEYMAP="us"' > /mnt/sys-root/etc/vconsole.conf; \
|
|
echo 'FONT="eurlatgr"' >> /mnt/sys-root/etc/vconsole.conf; \
|
|
rm -rf /mnt/sys-root/usr/share/locale/en_CA/ /mnt/sys-root/usr/share/locale/en_GB/ /mnt/sys-root/usr/share/locale/en@* /mnt/sys-root/usr/share/locale/en /mnt/sys-root/usr/share/locale/en*@* /mnt/sys-root/usr/share/i18n/charmaps /mnt/sys-root/usr/share/i18n/locales ;\
|
|
rm -f /mnt/sys-root/etc/machine-id; \
|
|
touch /mnt/sys-root/etc/machine-id; \
|
|
touch /mnt/sys-root/etc/resolv.conf; \
|
|
touch /mnt/sys-root/etc/hostname
|
|
|
|
FROM scratch as stage2
|
|
|
|
COPY --from=system-build /mnt/sys-root/ /
|
|
|
|
ENV LANG=C.utf8
|
|
|
|
RUN systemctl set-default multi-user.target; \
|
|
systemctl mask systemd-remount-fs.service \
|
|
dev-hugepages.mount \
|
|
sys-fs-fuse-connections.mount \
|
|
systemd-logind.service \
|
|
getty.target \
|
|
console-getty.service \
|
|
systemd-udev-trigger.service \
|
|
systemd-udevd.service \
|
|
systemd-random-seed.service \
|
|
systemd-machine-id-commit.service
|
|
|
|
FROM scratch
|
|
|
|
COPY --from=stage2 / /
|
|
|
|
ENV LANG=C.utf8
|
|
|
|
CMD ["/sbin/init"]
|
|
|
|
STOPSIGNAL SIGRTMIN+3
|