核心思路是“清旧、断源、装新”:先彻底卸载旧版docker组件并清理残留文件,再禁用干扰仓库、仅保留docker官方源,最后安装指定版本并验证服务与组件版本一致性。

核心思路是“清旧、断源、装新”——先彻底清理残留包和冲突源,再用干净环境安装目标版本。
彻底卸载所有旧版 Docker 组件
不同系统命令略有差异,但目标一致:删光所有已知相关包,包括隐藏依赖:
-
CentOS/RHEL:
yum remove -y docker* containerd.io runc docker-common docker-selinux -
Ubuntu/Debian:
sudo apt purge -y docker.io docker-ce docker-ce-cli containerd.io runc - 执行后补充清理:
sudo rm -rf /var/lib/docker /etc/docker /var/lib/containerd
禁用或移除干扰仓库
多个启用的仓库(尤其是 EPEL、Rancher、Podman 或阿里云镜像源)常导致元数据混乱和版本锁定:
MiniMax 图片理解 + 网络搜索 MCP 工具。适配 Docker 环境(极空间等),支持图片 OCR 识别、图像内容理解、网络搜索。API Key 安全存储在本地 credentials 文件,不暴露在代码中。
- 查看当前启用的源:
yum repolist enabled(RHEL系)或apt policy(Debian系) - 临时禁用 EPEL:
yum-config-manager --disable epel* - 删除第三方 repo 文件:
sudo rm /etc/yum.repos.d/epel*.repo /etc/yum.repos.d/rancher*.repo - 只保留 Docker 官方源:
curl -fsSL https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo
绕过模块化过滤与强制替换冲突包
在 CentOS 8+ 或 RHEL 8+ 中,AppStream 模块机制常屏蔽 containerd.io 或与 runc 冲突。此时需主动干预:
- 查冲突包:
rpm -qa | grep -E "(runc|containers-common)" - 手动卸载冲突项:
yum remove -y runc containers-common - 安装时允许擦除:
yum install -y --allowerasing docker-ce-26.1.4 docker-ce-cli-26.1.4 containerd.io - 如仍失败,加
--nobest避免版本优选逻辑干扰
验证并启动
安装完成后不要直接运行,先确认关键组件版本匹配:
- 检查版本一致性:
docker --version && dockerd --version && containerd --version - 确认服务状态:
systemctl status docker,若报 SELinux 错误,临时设为宽容模式:setenforce 0 - 运行测试容器:
docker run --rm hello-world










