在安装k8s时,对其docker版本有要求,因为在v1.4后对docker不再支持。在安装v1.36版本时,需要提前安装对应版本的docker,这里安装20.10版本
一 先卸载原来安装的docker
yum remove docker-ce docker-ce-cli containerd.io
再删除对应目录文件
rm -rf /var/lib/docker
rm -rf /var/lib/containerd
rm -f /etc/docker/daemon.json
二 安装
使用yum repository方式安装
2.1 安装yum-utils和指定仓库
yum install -y yum-utils
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
2.2 获取版本列表
yum list docker-ce --showduplicates | sort -r
部分截图如下:
2.3 安装指定版本
yum install -y docker-ce-20.10.11 docker-ce-cli-20.10.11 containerd.io
三 配置镜像源
新建/etc/docker/daemon.json文件
写入如下内容【需要将镜像源地址指定,具体可用阿里云的镜像源】
{
"registry-mirrors": ["https://xxx.mirror.aliyuncs.com"],
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2"
}
注意:
需要将exec-opts设置为systemd,否则k8s init时会爆timeout错误
查找镜像地址
操作如下:
进入阿里云控制台,找到容器镜像服务ACR
点击镜像加速器,将对应加速器地址填写到上面文件中
四 启动
启动docker
systemctl daemon-reload
systemctl enable docker --now
验证是否安装完成
[root@k8s-master ~]# docker version
Client: Docker Engine - Community
Version: 20.10.11
API version: 1.41
Go version: go1.16.9
Git commit: dea9396
Built: Thu Nov 18 00:38:53 2021
OS/Arch: linux/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.11
API version: 1.41 (minimum version 1.12)
Go version: go1.16.9
Git commit: 847da18
Built: Thu Nov 18 00:37:17 2021
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.6.21
GitCommit: 3dce8eb055cbb6872793272b4f20ed16117344f8
runc:
Version: 1.1.7
GitCommit: v1.1.7-0-g860f061
docker-init:
Version: 0.19.0
GitCommit: de40ad0