dnf update -y && dnf upgrade -y
После установки обновлений, если обновлялось ядро, перезагрузите сервер и снова зайдите по SSH:
reboot
Проверка версии ядра после входа:
uname -r
Базовые утилиты (набор можно сузить под себя):
dnf install -y dnf-plugins-core curl net-tools traceroute mc git wget
dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Чтобы после перезагрузки подтягивались нужные модули для bridge/NAT:
printf '%s\n' br_netfilter xt_addrtype > /etc/modules-load.d/docker-net.conf
При необходимости загрузить сразу:
modprobe br_netfilter xt_addrtype
systemctl enable --now docker
systemctl status docker --no-pager
Если docker не запускается с ошибками про iptables, addrtype или отсутствующие .ko в /lib/modules/$(uname -r), выполните ещё раз обновление и перезагрузку, чтобы загрузилось ядро, в комплекте которого есть полный набор модулей kernel-modules / kernel-modules-extra, затем повторите:
systemctl enable --now docker
Проверка:
docker --version
docker run --rm hello-world
docker compose version