yum升级docker版本

Administrator 236 2022-09-09

1.查看内核和docker版本信息
2.yum -y update 升级包、软件和内核
3.安装新版本的docker服务

Centos7默认执行 yum install -y docker 安装的版本较低,和现有的很多 docker img 不兼容,docker 操作时会报错:Error response from daemon: oci runtime error: container_linux.go:235: starting container process caused "process_linux.go:339: ......
因此需要升级 docker 服务的版本。

升级前查看 docker 版本:

yum list docker
Installed Packages
docker.x86_64        2:1.13.1-161.git64e9980.el7_8        @extras

系统安装的是1.13.1版本的docker

docker version

Client:
 Version:         1.13.1
 API version:     1.26
 Package version: docker-1.13.1-161.git64e9980.el7_8.x86_64
 Go version:      go1.10.3
 Git commit:      64e9980/1.13.1
 Built:           Tue Apr 28 14:43:01 2020
 OS/Arch:         linux/amd64

Server:
 Version:         1.13.1
 API version:     1.26 (minimum version 1.12)
 Package version: docker-1.13.1-161.git64e9980.el7_8.x86_64
 Go version:      go1.10.3
 Git commit:      64e9980/1.13.1
 Built:           Tue Apr 28 14:43:01 2020
 OS/Arch:         linux/amd64
 Experimental:    false

查看OS内核版本

uname -a
3.10.0-327.el7.x86_64            

升级Centos7上安装的docker版本操作步骤如下:

uname -a #查看当前OS内核版本为:
yum update  #以root身份更新yum,将yum包更新到最新
yum remove docker docker-common docker-selinux dockesr-engine  #卸载旧版本(如果安装过旧版本docker的话)
yum install -y yum-utils device-mapper-persistent-data lvm2   #安装需要的软件包(yum-util 提供 yum-config-manager 功能,另外两个是 devicemapper 驱动依赖的)
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 #如果国外的访问不稳定,也可
以使用阿里的yum源
yum list docker-ce --showduplicates | sort -r   #查看所有仓库中所有docker版本,并选择特定版本安装

docker-ce.x86_64 3:19.03.9-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.8-3.el7 docker-ce-stable
......
docker-ce.x86_64 3:19.03.1-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.12-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.11-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.10-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.0-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.9-3.el7 docker-ce-stable
......
docker-ce.x86_64 3:18.09.1-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.0-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.3.ce-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.2.ce-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.1.ce-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.0.ce-3.el7 docker-ce-stable
docker-ce.x86_64 18.03.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 18.03.0.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.12.1.ce-1.el7.centos docker-ce-stable
......
docker-ce.x86_64 17.03.0.ce-1.el7.centos docker-ce-stable

有很多版本
Docker CE 即社区免费版,Docker EE 即企业版,强调安全,但需付费使用。
Docker-ce提供四种版本: stable,edge,test,nightly 。 从Docker 1.13版以后,新版本号成发发布年份和月份为准。

升级后查看OS内核版本:

uname -r
3.10.0-1127.13.1.el7.x86_64

安装 docker-c 版本
yum install -y docker-ce
如果要指定版本安装则执行:yum install -y docker-ce-version,例如:yum install -y docker-ce-19.03.12-3.el7

启动docker
service docker start

查看docker版本(client & server)
 docker version
Client: Docker Engine - Community
 Version:           19.03.12
 API version:       1.40
 Go version:        go1.13.10
 Git commit:        48a66213fe
 Built:             Mon Jun 22 15:46:54 2020
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          19.03.12
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.13.10
  Git commit:       48a66213fe
  Built:            Mon Jun 22 15:45:28 2020
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.2.13
  GitCommit:        7ad184331fa3e55e52b890ea95e65ba581ae3429
 runc:
  Version:          1.0.0-rc10
  GitCommit:        dc9208a3303feef5b3839f4323d9beb36df0a9dd
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683

docker版本已经升级到了19.03.12