温馨提示×

Ubuntu Docker如何进行版本管理

小樊
35
2025-12-16 11:25:23
栏目: 智能运维

Ubuntu Docker 版本管理实操指南

一 核心原则与组件识别

  • 在 Ubuntu 上,Docker 通过 APT 以多个包交付,常见组件包括:docker-ce(引擎)、docker-ce-cli(命令行)、containerd.io(容器运行时)、以及插件如 docker-buildx-plugindocker-compose-plugin。做版本管理时,需将这些组件视为一个整体进行一致升级或回退,避免版本错配。
  • 建议先识别已装包与版本:
    • 列出已装包:dpkg-query -l | grep docker
    • 查看可用版本:apt-cache madison docker-ce
    • 了解依赖关系:apt-cache depends docker-ceapt-cache depends docker-ce-cli
  • 注意包冲突关系:官方包存在与 docker.io / docker-engine 的冲突,避免混装来源不同的包。

二 指定版本安装与回退

  • 安装或回退到指定版本的标准流程:
    1. 查看可用版本并选定目标版本号(形如:5:20.10.6~3-0~ubuntu-focal
      • apt-cache madison docker-ce
    2. 安装指定版本(保持引擎与 CLI 版本一致)
      • sudo apt-get install docker-ce=<VERSION> docker-ce-cli=<VERSION> containerd.io
    3. 验证
      • docker --versiondocker compose version(若使用插件)
  • 回退要点:若当前版本较新,直接指定旧版本号重装即可;如遇到依赖冲突,优先保持 docker-cedocker-ce-cli 同步切换。

三 版本锁定与变更审计

  • 固定当前版本,防止被系统升级波及:
    • 锁定包:sudo apt-mark hold docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
    • 解除锁定:sudo apt-mark unhold <package>
  • 变更审计与回看:
    • 查看变更记录:grep -i docker /var/log/apt/history.log
    • 列出已安装包:apt list --installed | grep docker
  • 依赖一致性检查(在升级/回退前后都建议执行):
    • apt-cache depends docker-ceapt-cache depends docker-ce-cli,确认关键依赖(如 containerd.io)的版本与策略符合预期。

四 升级与回退的安全流程

  • 升级前
    • 备份关键数据:镜像(docker save)、容器文件系统(docker export)、卷数据(docker cp
    • 可选:在测试环境验证目标版本兼容性
  • 升级中
    • 执行升级:sudo apt-get update && sudo apt-get install docker-ce docker-ce-cli containerd.io
    • 重启服务:sudo systemctl restart docker
  • 升级后
    • 健康检查:docker run --rm hello-world
    • 如异常,按“指定版本安装与回退”步骤回到上一个稳定版本
  • 回退时
    • 优先使用“指定版本安装与回退”的方法回到目标旧版本,再执行 docker run --rm hello-world 验证。

五 日常运维建议

  • 使用官方仓库并固定版本:导入 Docker 官方 GPG 密钥APT 源,在 apt install 时显式指定版本,避免滚动升级带来不确定性。
  • 组件一致性:保持 docker-cedocker-ce-cli 版本一致;如使用插件(如 docker-compose-plugin),建议与引擎版本匹配并纳入同一变更与锁定策略。
  • 变更留痕:通过 apt-mark hold/var/log/apt/history.log 建立可追溯的版本变更记录,便于快速回滚与审计。

0