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

其他资源

相关推荐
kyle~4 分钟前
计算机网络---安全外壳协议(SSH,Secure Shell)
运维·计算机网络·安全·ssh
大千AI助手9 分钟前
SPT:选择性提示调优——让模型自动学习最佳提示插入策略
人工智能·神经网络·llm·提示词·大千ai助手·spt·选择性提示调优
夫唯不争,故无尤也10 分钟前
PyTorch中张量和模型的核心属性解析
人工智能·pytorch·深度学习
mobº13 分钟前
K8s 集群部署中间件 - yaml 版本(二)
中间件·容器·kubernetes
fy zs16 分钟前
linux文件系统和软硬连接
linux·centos
钛投标免费AI标书工具16 分钟前
AI标书vs人工标书,到底哪个好?
人工智能
驾驭人生19 分钟前
Docker中安装 redis、rabbitmq、MySQL、es、 mongodb设置用户名密码
redis·docker·rabbitmq
鲸鱼在dn27 分钟前
大型语言模型推理能力评估——李宏毅2025大模型课程第9讲内容
人工智能·语言模型·自然语言处理
破烂pan28 分钟前
Jenkins 定时触发(cron)使用说明
运维·jenkins
QT 小鲜肉31 分钟前
【个人成长笔记】将Try Ubuntu里面配置好的文件系统克隆在U盘上(创建一个带有持久化功能的Ubuntu Live USB系统)
linux·开发语言·数据库·笔记·ubuntu