温馨提示×

Docker在Linux上如何更新

小樊
66
2025-09-18 13:02:32
栏目: 智能运维

一、升级前的准备工作

  1. 备份重要数据:Docker中的容器、镜像和卷可能存储着应用程序及关键数据,升级前需通过以下命令备份:
    • 备份镜像:docker save -o backup.tar <image_name>(将指定镜像保存为tar文件)
    • 备份容器:docker export -o container_backup.tar <container_id>(导出容器文件系统为tar文件)
    • 备份卷数据:docker cp <container_id>:<volume_path> <local_backup_path>(将卷数据复制到本地目录)
  2. 查看当前Docker版本:确认当前安装的版本,便于后续对比是否升级成功。命令:docker --version(如输出Docker version 20.10.8, build 3967b7d,则表示当前版本为20.10.8)

二、Linux系统更新Docker的具体步骤(以Ubuntu/Debian为例)

  1. 停止Docker服务:避免升级过程中服务冲突。命令:sudo systemctl stop docker
  2. 卸载旧版本Docker:彻底移除旧版本文件,确保新版本干净安装。命令:sudo apt-get remove docker docker-engine docker.io containerd runc
  3. 更新软件包索引:同步系统软件包列表,获取最新Docker版本信息。命令:sudo apt-get update
  4. 安装Docker依赖项:确保系统具备安装Docker所需的工具和库。命令:sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release
  5. 添加Docker官方GPG密钥:验证Docker软件包的完整性和来源,防止恶意篡改。命令:curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
  6. 添加Docker稳定版存储库:将Docker官方仓库添加到系统软件源,以便后续安装最新版本。命令: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
  7. 再次更新软件包索引:同步新添加的Docker仓库,获取最新版本列表。命令:sudo apt-get update
  8. 安装最新版本Docker:安装Docker社区版(docker-ce)、命令行工具(docker-ce-cli)和容器运行时(containerd.io)。命令:sudo apt-get install docker-ce docker-ce-cli containerd.io

三、验证升级结果

  1. 检查Docker版本:确认升级后的版本是否符合预期。命令:docker --version(如输出Docker version 24.0.7, build afdd53b,则表示升级成功)
  2. 运行测试容器:通过官方测试镜像验证Docker功能是否正常。命令:sudo docker run hello-world(若输出“Hello from Docker!”,则说明Docker运行正常)

四、可选步骤:升级Docker Compose(若已安装) 若系统中安装了Docker Compose(用于管理多容器应用),可同步升级至最新版本:

  1. 下载最新版本的Docker Compose二进制文件:sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
  2. 添加执行权限:sudo chmod +x /usr/local/bin/docker-compose
  3. 验证升级:docker-compose --version(如输出docker-compose version 1.24.0, build 0aa59064,则表示升级成功)

五、常见问题解决

  • 权限问题:若执行Docker命令时提示“Permission denied”,可将当前用户加入docker组(需重启生效):sudo usermod -aG docker $USER
  • 依赖项问题:若安装过程中出现依赖项冲突,可尝试修复:sudo apt-get install -f
  • 网络问题:若下载缓慢或失败,可配置代理(如export http_proxy=http://proxy.example.com:8080)或更换网络环境

0