温馨提示×

Ubuntu Docker更新怎么操作

小樊
39
2025-12-18 11:14:19
栏目: 智能运维

Ubuntu 上 Docker 的更新与升级指南

一 升级前准备

  • 备份重要数据:容器数据通常在卷(Volume)绑定挂载中,建议先备份。示例:
    • 卷备份:
      docker run --rm -v <volume_name>:/volume -v /path/to/backup:/backup loomchild/volume-backup backup /backup
    • 容器内目录拷贝:
      docker cp <container_id>:/path/to/dir /path/to/backup
  • 检查运行状态:
    docker ps -a
  • 建议先停止容器(可选,减少写入):
    • 停止全部:docker stop $(docker ps -q)
    • 停止单个:docker stop <container_id>
  • 查看当前 Docker 版本:
    docker --version
    以上步骤有助于降低升级风险并确保数据安全。

二 使用 APT 就地升级 Docker Engine

  • 更新索引并仅升级 Docker 包:
    sudo apt-get update
    sudo apt-get install --only-upgrade docker-ce docker-ce-cli containerd.io
  • 验证版本:
    docker --version
  • 如服务未运行则启动:
    sudo systemctl start docker
    sudo systemctl enable docker
  • 查看服务日志以排查问题:
    sudo journalctl -u docker
    这是 Ubuntu 上推荐的常规升级方式,简单且风险低。

三 跨版本升级或首次规范化安装

  • 卸载旧版组件(如有):
    sudo apt-get remove docker docker-engine docker.io containerd runc
  • 安装依赖:
    sudo apt-get update
    sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
  • 添加 Docker 官方 GPG 密钥:
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
  • 添加官方 APT 源(自动匹配发行版代号):
    echo “deb [arch=amd64 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
    sudo apt-get install docker-ce docker-ce-cli containerd.io
  • 验证:
    docker --version
    以上流程适用于从旧版本迁移或首次在 Ubuntu 上规范化安装 Docker。

四 升级 Docker Compose

  • 二进制方式升级(通用 Linux):
    sudo curl -L “https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)” -o /usr/local/bin/docker-compose
    sudo chmod +x /usr/local/bin/docker-compose
  • 验证:
    docker-compose --version
    如需使用包管理器安装或不同平台的安装方式,请参考 Docker 官方文档。

五 升级后验证与回滚建议

  • 确认 Docker 服务正常:
    sudo systemctl status docker
  • 查看版本与运行日志:
    docker --version
    sudo journalctl -u docker
  • 重新启动容器并核对状态:
    docker start $(docker ps -a -q)
    docker ps
  • 如遇问题:优先回滚到旧版本包(如仍保留在 apt 缓存中可 sudo apt-get install docker-ce=<旧版本>),并恢复备份数据;必要时查看日志定位具体错误。
    这些步骤可确保升级后系统与应用稳定运行。

0