温馨提示×

centos系统docker如何更新

小樊
49
2025-08-30 16:29:00
栏目: 智能运维

CentOS系统Docker更新指南

一、更新前准备

  1. 备份重要数据:Docker容器、镜像及卷中的数据需提前备份(如使用docker save导出镜像、docker export导出容器),避免更新过程中数据丢失。
  2. 停止运行中的容器:若有正在运行的容器,需先停止(docker stop <容器名或ID>),防止更新时出现冲突。
  3. 检查系统兼容性:确认CentOS版本(如CentOS 7/8/Stream)与目标Docker版本兼容(参考Docker官方文档的“Supported Platforms”部分)。

二、方法一:使用YUM命令逐步更新(推荐)

1. 卸载旧版本Docker

通过YUM卸载现有Docker组件,避免残留文件影响新版本安装:

sudo yum remove -y docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine 

2. 安装必要依赖

安装YUM工具包及Docker所需的底层依赖(device-mapper-persistent-data、lvm2用于存储驱动):

sudo yum install -y yum-utils device-mapper-persistent-data lvm2 

3. 添加Docker官方YUM源

配置Docker官方软件源,确保获取最新稳定版本:

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 

4. 列出可用Docker版本(可选)

若需安装特定版本,可先查看仓库中所有可用版本(按版本号降序排列):

yum list docker-ce --showduplicates | sort -r 

输出示例:

docker-ce.x86_64 24.0.7-1.el7.centos docker-ce-stable docker-ce.x86_64 24.0.6-1.el7.centos docker-ce-stable ... 

5. 安装最新/指定版本Docker

  • 安装最新版本(默认安装仓库中最高版本):
    sudo yum install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin 
  • 安装指定版本(替换<VERSION>为具体版本号,如24.0.7):
    sudo yum install -y docker-ce-<VERSION> docker-ce-cli-<VERSION> containerd.io 

6. 启动Docker并设置开机自启

sudo systemctl start docker # 启动Docker服务 sudo systemctl enable docker # 设置开机自动启动 

7. 验证更新结果

检查Docker版本及运行状态,确认更新成功:

docker --version # 查看Docker引擎版本 docker run hello-world # 运行测试容器,验证功能正常 

三、方法二:使用Docker官方一键脚本更新

若希望快速自动化更新,可使用Docker官方提供的get-docker.sh脚本(自动处理依赖及安装):

curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh 

脚本执行完成后,启动Docker服务并验证版本:

sudo systemctl start docker docker --version 

四、注意事项

  1. 数据安全:更新前务必备份/var/lib/docker目录(包含所有容器、镜像数据),若无需保留旧数据可直接删除(sudo rm -rf /var/lib/docker)。
  2. 生产环境验证:生产环境建议先在测试节点验证更新流程,确认无兼容性问题后再批量操作。
  3. 依赖问题:若安装过程中出现依赖冲突,需根据提示解决(如手动安装缺失的依赖包)。
  4. Docker Compose更新:若使用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 sudo chmod +x /usr/local/bin/docker-compose docker-compose --version # 验证版本 

0