/
Dockerfile.rhel
75 lines (68 loc) · 1.65 KB
/
Dockerfile.rhel
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
ARG BASE_IMAGE
ARG FLAVOR
FROM $BASE_IMAGE AS base
RUN echo "install_weak_deps=False" >> /etc/dnf/dnf.conf
# Install packages according to distro
# epel-packages https://docs.fedoraproject.org/en-US/epel/
FROM base AS epel
RUN dnf install -y epel-release && dnf clean all
RUN dnf install -y "https://zfsonlinux.org/epel/zfs-release-2-3$(rpm --eval "%{dist}").noarch.rpm" && dnf clean all
FROM epel AS almalinux
FROM epel AS rockylinux
FROM base AS fedora
RUN dnf install -y "https://zfsonlinux.org/fedora/zfs-release-2-3$(rpm --eval "%{dist}").noarch.rpm" && dnf clean all
# install common packages
FROM ${FLAVOR} AS common
RUN dnf update -y
RUN dnf makecache
RUN dnf install -y \
audit \
cloud-utils-growpart \
device-mapper \
dosfstools \
dracut \
dracut-live \
dracut-network \
dracut-squash \
dhcp-client \
e2fsprogs \
efibootmgr \
gawk \
gdisk \
grub2 \
grub2-efi-x64 \
grub2-efi-x64-modules \
grub2-pc \
haveged \
kernel \
kernel-modules \
kernel-modules-extra \
less \
livecd-tools \
lvm2 \
nano \
openssh-server \
parted \
polkit \
qemu-guest-agent \
rsync \
shim-x64 \
squashfs-tools \
sudo \
systemd \
systemd-networkd \
systemd-resolved \
tar \
which \
zfs && dnf clean all
# Final setup
FROM common
RUN mkdir -p /run/lock
RUN touch /usr/libexec/.keep
RUN systemctl enable getty@tty1.service
RUN systemctl enable getty@tty2.service
RUN systemctl enable getty@tty3.service
RUN systemctl enable systemd-networkd
RUN systemctl enable systemd-resolved
RUN systemctl disable dnf-makecache.service
RUN systemctl enable sshd