#!/bin/bash
set -e

echo "===== Step 1: 卸载旧版 Docker ====="

echo "===== Step 2: 更新系统库,修复 libnftables/libnftnl ====="
dnf -y update nftables libnftnl || true
dnf install -y nftables libnftnl container-selinux device-mapper-persistent-data lvm2 yum-utils

# CentOS 9/Stream 9 不需要 epel-release 包
echo "EPEL 仓库可选,可直接通过系统自带仓库安装依赖"

echo "===== Step 3: 添加 Docker 官方仓库 ====="
dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

echo "===== Step 4: 安装最新 Docker CE ====="
dnf install -y docker-ce docker-ce-cli containerd.io --allowerasing

echo "===== Step 5: 清理并刷新动态库缓存 ====="
ldconfig

echo "===== Step 6: 启动 Docker 服务 ====="
systemctl enable docker
systemctl start docker

echo "===== Step 7: 验证 Docker ====="
docker version
docker info
docker ps

echo "===== 修复完成,Docker 已启动 ====="

更多推荐