温馨提示×

docker如何在centos上更新

小樊
40
2025-10-25 21:23:59
栏目: 智能运维

在CentOS上更新Docker的步骤

一、更新前准备

  1. 备份重要数据:Docker容器、镜像及卷中的数据需提前备份(如使用docker save导出镜像、docker export导出容器),避免更新过程中数据丢失。
  2. 停止运行中的容器:若存在正在运行的容器,需先停止(docker stop <容器名或ID>),防止更新时出现文件锁定或服务中断。

二、常用更新方法(推荐)

1. 使用YUM命令更新(最简方式)

YUM是CentOS默认的包管理工具,可直接通过官方仓库更新Docker,步骤如下:

  • 更新YUM包索引:同步系统软件包信息,确保获取最新版本。
    sudo yum update -y
    
  • 安装/升级Docker组件:执行以下命令安装Docker CE(社区版)、CLI工具及containerd容器运行时(若已安装旧版本,会自动升级)。
    sudo yum install docker-ce docker-ce-cli containerd.io -y
    
  • 启动Docker服务并设置开机自启:启动Docker守护进程,并配置系统启动时自动运行。
    sudo systemctl start docker
    sudo systemctl enable docker
    
  • 验证更新结果:查看Docker版本,确认升级成功。
    docker --version
    

2. 使用Docker官方脚本更新(自动化)

若希望通过脚本简化流程,可使用Docker官方提供的get-docker.sh脚本:

  • 下载并运行脚本:通过curl获取脚本并赋予执行权限,脚本会自动卸载旧版本、安装最新版Docker。
    curl -fsSL https://get.docker.com -o get-docker.sh
    sudo sh get-docker.sh
    
  • 验证安装:脚本执行完成后,同样通过docker --version确认版本。

三、手动控制版本更新(可选)

若需安装特定版本的Docker(如企业要求固定版本),可通过以下步骤手动选择版本:

  • 卸载旧版本:彻底移除现有Docker及相关组件,避免版本冲突。
    sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine -y
    
  • 添加Docker官方YUM仓库:获取最新的Docker软件包源。
    sudo yum install -y yum-utils
    sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    
  • 列出可用版本并选择:查看仓库中所有Docker CE版本(按版本号降序排列),选择目标版本(如docker-ce-24.0.7)。
    sudo yum list docker-ce --showduplicates | sort -r
    
  • 安装指定版本:替换<VERSION_STRING>为目标版本(如24.0.7),同时安装配套的CLI和containerd。
    sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io -y
    
  • 后续步骤:启动服务并验证版本(同YUM命令更新步骤)。

四、特殊情况处理(CentOS 7)

若使用CentOS 7系统,且之前通过snap安装Docker,可通过以下命令升级:

sudo snap refresh docker

升级后仍需通过docker --version验证版本。

五、更新后检查

  1. 测试Docker功能:运行测试容器(如hello-world),确认Docker能正常启动容器。
    docker run hello-world
    
  2. 查看Docker日志:若启动失败,通过journalctl -u docker查看日志,排查错误原因。

0