移除旧版本的Docker
echo “正在尝试移除卸载当前系统可能存在较旧版本的Docker:”
yum remove docker
docker-client
docker-client-latest
docker-common
docker-latest
docker-latest-logrotate
docker-logrotate
docker-selinux
docker-engine-selinux
docker-enginel -y
也可以使用如下命令:
#yum remove docker docker-common docker-selinux docker-engine -y
卸载新版的Docker-ce
echo “正在尝试卸载移除当前系统可能存在的较新版本的Docker:”
yum remove docker-ce docker-ce-cli containerd.io -y
#要同时卸载docker-buildx-plugin,Docker buildx 的插件不卸载,否则会报错。
yum remove docker-buidx-plugin -y
yum docker-compose-plugin -y
yum docker-scan-plugin -y
[注]docker 的本地文件,包括镜像(images), 容器(containers), 存储卷(volumes)等
上述目录需要手工删除。Docker的默认目录是 /var/lib/docker。
删除镜像、容器、数据卷和配置文件等。
echo “删除Docker的本地文件包括images、containers、volumes以及服务:”
rm -rf /etc/systemd/system/docker.service.d
rm -rf /var/lib/docker
rm -rf /var/run/docker
rm -rf /var/lib/containerd
rm -rf /etc/docker
过滤一下还有没有没卸载掉的docker
echo “查看一下有无尚未卸载掉的Docker:”
if (rpm -qa|grep docker)
then
echo -e “\e[43;31m 当前系统仍存在未卸载的Docker组件,注意检查。 \e[0m”
fi
清除缓存
echo “清除yum缓存:”
yum clean all
设置Docker仓库为阿里云:
echo “设置Docker仓库为aliyun:”
curl -o /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
建立缓存
echo “重建yum缓存:”
yum makecache fast
查看所有仓库中的所有Docker版本:
yum list docker-ce --showduplicates |sort -r
安装Docker-ce个版本一定要与K8S版本对应起来,否则二者版本不兼容。
#yum install docker-ce-19.03.15 docker-ce-cli-19.03.15 containerd.io -y
#以上命令会有依赖冲突,不能正常安装。
yum install docker-ce-19.03.15 docker-ce-cli-19.03.15 containerd.io -y
配置Docker加速器,以及cgroup驱动,改为k8s官方推荐的systemd,否则初始化时会报错。
mkdir -p /etc/docker
cat > /etc/docker/daemon.json <<‘EOF’
{
“registry-mirrors”:[“https://llqkfhst.mirror.aliyuncs.com”],
“exec-opts”:[“native.cgroupdriver=systemd”]
}
EOF
启动Docker服务,并将Docker设置为开机自启动。
systemctl start docker && systemctl enable docker
查看Docker服务运行状态
systemctl status docker.service
显示Docker版本信息:
docker --version