在 Ubuntu 上将 Docker 降级到版本 25.0.5 (二) 降低版本,涉及兼容性问题

以下有免费的4090云主机提供ubuntu22.04系统的其他入门实践操作

地址:星宇科技 | GPU服务器 高性能云主机 云服务器-登录

相关兑换码星宇社区---4090算力卡免费体验、共享开发社区-CSDN博客

兑换码要是过期了,可以私信我获取最新兑换码!!!

之所以推荐给大家使用,是因为上面的云主机目前是免费使用的,不需要大家再去安装虚拟机,部署虚拟机,环境都搭配好了,非常适合新手入门,减少搭建的时间,把时间都用在实践上。

本指南详细说明了在 Ubuntu(以 22.04 为例)上将已安装的 Docker 降级到版本 25.0.5 的步骤。降级涉及卸载当前版本并安装目标版本,同时尽量保留现有的容器、镜像和配置。适用于通过 Docker 官方存储库安装 Docker 的用户。

先决条件

  • 操作系统 :Ubuntu 22.04(Jammy Jellyfish)。其他版本(如 20.04 或 24.04)可能适用,但需验证版本 5:25.0.5-1~ubuntu.22.04~jammy 的可用性。

  • 权限:具有 sudo 权限的用户账户。

  • 网络:稳定的互联网连接。

  • 备份 :强烈建议备份 Docker 数据(容器、镜像、卷)以防丢失:

    复制代码
    docker save -o image-backup.tar <image-name>
    sudo tar -czf docker-data-backup.tar.gz /var/lib/docker

降级步骤

步骤 1:检查当前 Docker 版本

确认当前安装的 Docker 版本:

复制代码
docker --version

示例输出:Docker version 26.1.4, build 5650f9b。如果版本高于 25.0.5,则需降级。

步骤 2:停止 Docker 服务

在卸载前停止 Docker 服务以避免冲突:

复制代码
sudo systemctl stop docker
sudo systemctl stop docker.socket

步骤 3:卸载当前 Docker 版本

卸载 Docker 相关软件包,但保留数据目录(/var/lib/docker):

复制代码
sudo apt-get remove --purge -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

步骤 4:确保 Docker 存储库可用

如果 Docker 存储库未配置,添加官方存储库:

复制代码
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

步骤 5:检查可用版本

列出可用 Docker 版本以确认 25.0.5 存在:

复制代码
apt-cache madison docker-ce

查找 5:25.0.5-1~ubuntu.22.04~jammy。若不可用,检查 Docker 存档

步骤 6:安装 Docker 25.0.5

安装特定版本的 Docker 及其依赖项:

复制代码
sudo apt-get install -y docker-ce=5:25.0.5-1~ubuntu.22.04~jammy docker-ce-cli=5:25.0.5-1~ubuntu.22.04~jammy containerd.io docker-buildx-plugin docker-compose-plugin

containerd.io 版本冲突,查找兼容版本:

复制代码
apt-cache madison containerd.io
sudo apt-get install -y containerd.io=<compatible-version>

步骤 7:启动并验证 Docker 服务

启动 Docker 服务并检查状态:

复制代码
sudo systemctl start docker
sudo systemctl enable docker
sudo systemctl status docker

验证版本:

复制代码
docker --version

预期输出:Docker version 25.0.5, build e2d7e8b

步骤 8:测试 Docker 安装

运行测试镜像以确认正常运行:

复制代码
sudo docker run hello-world

预期输出包含:Hello from Docker!

步骤 9:恢复非 root 用户访问(可选)

确保用户在 docker 组中:

复制代码
groups

若无 docker,添加:

复制代码
sudo usermod -aG docker $USER

注销并重新登录后测试:

复制代码
docker run hello-world

故障排除

  • 版本不可用 :若 5:25.0.5-1~ubuntu.22.04~jammy 不可用,尝试其他版本字符串(如 ~ubuntu.20.04~focal)或手动下载 .deb 包:

    复制代码
    wget <URL-to-deb-file>
    sudo dpkg -i <deb-file>
  • 依赖冲突 :修复依赖问题:

    复制代码
    sudo apt-get install -f
  • 容器不可用 :若容器无法运行,重新拉取镜像:

    复制代码
    docker pull <image-name>
  • 服务未启动 :检查日志:

    复制代码
    journalctl -u docker

注意事项

  • 数据保留 :卸载不会删除 /var/lib/docker,但降级可能导致兼容性问题,务必备份。
  • 版本兼容性:确保容器和镜像与 25.0.5 兼容。
  • 存储库维护:旧版本可能从存储库移除,需从存档手动安装。

其他资源

相关推荐
果子⌂16 分钟前
Kubernetes 服务发布进阶
linux·运维·服务器·云原生·容器·kubernetes·云计算
SRC_BLUE_1718 分钟前
[网安工具] 自动化威胁检测工具 —— D 盾 · 使用手册
运维·自动化
望获linux29 分钟前
【Linux基础知识系列】第六十三篇 - 文件编辑器基础:vim
linux·运维·服务器·网络·嵌入式硬件·操作系统·嵌入式软件
书唐瑞1 小时前
Percona pt-archiver 出现长事务
java·服务器·数据库
极客奇点1 小时前
PowerShell自动化备份Windows事件日志实战指南
运维·ad·域控·自动化备份·活动目录系统
sssammmm1 小时前
AI入门学习-Python 最主流的机器学习库Scikit-learn
人工智能·python·机器学习
qq_436962181 小时前
奥威BI+AI数据分析解决方案:驱动企业数智化转型的智能引擎
人工智能·数据挖掘·数据分析
说私域1 小时前
开源链动2+1模式AI智能名片S2B2C商城小程序的场景体验分析
人工智能·小程序
末日汐1 小时前
Linux常见指令
linux·运维·服务器
青梅主码-杰哥1 小时前
中央广播电视总台联合阿里云研究院权威发布《中国人工智能应用发展报告(2025)》:我国依旧需要大力注重人工智能人才的培养
人工智能·阿里云·云计算