卸载旧版本的Docker

yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine

Centos7 升级Docker 至最新版本_docker

安装需要的软件包

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

Centos7 升级Docker 至最新版本_运维_02

添加Docker的yum源

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

#推荐阿里云yum源

yum-config-manager \

--add-repo \

http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

Centos7 升级Docker 至最新版本_docker_03

更新yum包

yum update

Centos7 升级Docker 至最新版本_Docker_04

查看所有仓库中提供的Docker版本

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

Centos7 升级Docker 至最新版本_centos_05

安装新版本Docker

yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin

Centos7 升级Docker 至最新版本_Docker_06

启动Docker

systemctl start docker

开启Docker开机自启

systemctl enable docker

Centos7 升级Docker 至最新版本_docker_07

查看Docker版本

docker version

Centos7 升级Docker 至最新版本_centos_08

查看原有容器

docker ps -a

Centos7 升级Docker 至最新版本_centos_09

注意:如果启动容器报错

报错内容:Error response from daemon: unknown or invalid runtime name: docker-runc

备份容器信息

cp -r /var/lib/docker/containers/ /var/lib/docker/containers_backup

更改/var/lib/docker/containers目录中的文件参数,把docker-runc替换为runc

grep -rl 'docker-runc' /var/lib/docker/containers/ | xargs sed -i 's/docker-runc/runc/g'

重启Docker

systemctl restart docker

再次启动容器成功。