在 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 兼容。
  • 存储库维护:旧版本可能从存储库移除,需从存档手动安装。

其他资源

相关推荐
Tim风声(网络工程师)2 小时前
不同射频对应不同mac地址(查找无线用户连接AP信息)
服务器·网络·tcp/ip·智能路由器·无线ap
ajassi20003 小时前
开源 C++ QT Widget 开发(十五)多媒体--音频播放
linux·c++·qt·开源
大写-凌祁3 小时前
零基础入门深度学习:从理论到实战,GitHub+开源资源全指南(2025最新版)
人工智能·深度学习·开源·github
焦耳加热4 小时前
阿德莱德大学Nat. Commun.:盐模板策略实现废弃塑料到单原子催化剂的高值转化,推动环境与能源催化应用
人工智能·算法·机器学习·能源·材料工程
深空数字孪生4 小时前
储能调峰新实践:智慧能源平台如何保障风电消纳与电网稳定?
大数据·人工智能·物联网
wan5555cn4 小时前
多张图片生成视频模型技术深度解析
人工智能·笔记·深度学习·算法·音视频
JosieBook4 小时前
【远程运维】Linux 远程连接 Windows 好用的软件:MobaXterm 实战指南
linux·运维·windows
文档搬运工4 小时前
Linux MInt启动速度的优化
linux
Broken Arrows5 小时前
Linux学习——管理网络安全(二十一)
linux·学习·web安全
格林威5 小时前
机器视觉检测的光源基础知识及光源选型
人工智能·深度学习·数码相机·yolo·计算机视觉·视觉检测