最稳妥的Docker指定版本安装方式是通过包管理器一次性装齐docker-ce、docker-ce-cli和containerd.io的匹配版本,需先卸载现有套件、准确获取完整版本字符串(如5:20.10.5~3-0~ubuntu-focal)、严格按输出版本号安装,并验证服务启动与hello-world测试。

直接通过包管理器安装指定版本号是最稳妥的降级方式,关键在于准确获取版本字符串并一次性装齐配套组件。
查清可用版本号
不同系统命令略有差异,但核心是列出所有可安装的 Docker 包版本:
- Ubuntu/Debian:
apt list -a docker-ce或apt-cache madison docker-ce - CentOS/RHEL:
yum list docker-ce --showduplicates或dnf list docker-ce --showduplicates
注意输出中的完整版本字符串,例如 5:20.10.5~3-0~ubuntu-focal(含 epoch、分隔符和发行版后缀),不能只写 20.10.5。
卸载当前版本(必须先做)
避免新旧版本冲突,需彻底移除现有 Docker 套件:
- Ubuntu/Debian:
sudo apt-get remove docker docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin - CentOS/RHEL:
sudo yum remove docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
不建议仅用 apt-get remove docker,它可能漏掉 docker-ce-cli 等关键依赖,导致后续安装失败。
安装指定版本(一步到位)
必须同时指定 docker-ce、docker-ce-cli 和 containerd.io 的相同版本,否则启动失败:
- Ubuntu/Debian:
sudo apt-get install docker-ce=5:20.10.5~3-0~ubuntu-focal docker-ce-cli=5:20.10.5~3-0~ubuntu-focal containerd.io=1.6.31-1~ubuntu.20.04.1 - CentOS/RHEL:
sudo yum install docker-ce-20.10.5-3.el7 docker-ce-cli-20.10.5-3.el7 containerd.io-1.6.31-1.el7
版本号务必与 apt list 或 yum list 输出完全一致;若提示依赖冲突,加上 --force-depends(Debian)或 --setopt=obsoletes=0(RHEL)参数再试。
验证并启用服务
安装完成后立即验证:
- 运行
docker --version确认版本已变更 - 执行
sudo systemctl start docker && sudo systemctl enable docker - 用
sudo docker run --rm hello-world测试运行是否正常
如果服务启动失败,大概率是 containerd.io 版本不匹配或残留配置未清理,建议重装前执行 sudo apt-get autoremove && sudo apt-get autoclean(Ubuntu)或 sudo yum clean all(RHEL)。


















