完整解决方案

1. 完全卸载现有 Docker 组件

# 停止所有相关服务
sudo systemctl stop docker docker.socket containerd

# 卸载所有相关软件包
sudo yum remove -y docker-ce docker-ce-cli containerd.io containerd runc

2. 清理残留文件和配置

# 删除Docker数据目录
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

# 删除配置文件
sudo rm -rf /etc/docker

3. 修复 RPM 数据库

# 重建RPM数据库
sudo rpm --rebuilddb

# 清理YUM缓存
sudo yum clean all

4. 重新安装 Docker

# 添加Docker官方仓库
sudo yum install -y yum-utils
# 使用阿里云镜像
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 列出已启用的仓库
sudo yum repolist enabled

# 清理并重建缓存
sudo yum clean all
sudo yum makecache

# 查看可用的Docker版本
sudo yum list docker-ce --showduplicates | sort -r

# 安装特定版本(示例)
sudo yum install -y docker-ce-20.10.23 docker-ce-cli-20.10.23 containerd.io

5. 验证安装

# 启动服务
sudo systemctl start docker

# 检查版本
docker --version
containerd --version

命令快速执行

sudo systemctl stop docker docker.socket containerd
sudo yum remove -y docker-ce docker-ce-cli containerd.io containerd runc
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
sudo rm -rf /etc/docker
sudo rpm --rebuilddb
sudo yum clean all
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum repolist enabled
sudo yum clean all
sudo yum makecache
sudo yum list docker-ce --showduplicates | sort -r
sudo yum install -y docker-ce-20.10.23 docker-ce-cli-20.10.23 containerd.io
sudo systemctl start docker
docker --version
containerd --version

更多推荐