# Docker升级步骤(CentOS7)

# 1. 前置-修复yum源,并添加docker的源

在/etc/yum.repos.d/CentOS-Vault.repo文件里添加以下内容

#CentOS7的源如果失效,需要修复
# Vault
[Vault-base]
name=Vault - CentOS-$releasever - Base
baseurl=http://vault.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-$releasever
[Vault-updates]
name=Vault - CentOS-$releasever - Updates
baseurl=http://vault.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-$releasever
[Vault-extras]
name=Vault - CentOS-$releasever - Extras
baseurl=http://vault.centos.org/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-$releasever

在/etc/yum.repos.d/CentOS-Base.repo文件里每个源都添加enabled=0,即关闭此文件里的所有源。

[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
# 下同

添加Docker源

#删除旧源文件
rm -f /etc/yum.repos.d/docker-ce.repo  /etc/yum.repos.d/docker-ce-staging.repo
# 添加最新的源文件
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

清空缓存并使源生效

#清空缓存
yum clean all 
#重建源
yum makecache
#查看源
yum repolist

# 2. 删除旧的docker相关文件

先停掉docker,再查看docker相关的包,最后删除(remove)全部相关的包

systemctl stop docker.service
yum list installed |grep docker
# 根据上一步的结果删除
yum remove docker-ce docker-ce-cli containerd.io

# 3. 安装最新的docker版本

如果出现失败,请重试

yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-ce-rootless-extras docker-buildx-plugin

# 4. 启动docker

systemctl start docker.service

# 5. 查看应用是否恢复

docker ps