问题描述
CentOS版本:8.5.2111。
# cat /etc/redhat-release
CentOS Linux release 8.5.2111
安装准备:
# 安装所需软件包
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# 设置docker仓库:推荐阿里云
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装最新版Docker时报错:
# sudo yum install docker-ce
Error:
Problem: package docker-ce-3:24.0.5-1.el8.x86_64 requires containerd.io >= 1.6.4, but none of the providers can be installed
大概意思是安装的最新版docker-ce-3:24.0.5-1.el8.x86_64
需要依赖containerd.io 1.6.4
及以上版本。
解决思路和实践
既然是缺少containerd.io
依赖包,直接安装对应的依赖包即可。
打开网站https://mirrors.aliyun.com/docker-ce/linux/centos/8.5/x86_64/stable/Packages/
, 选择最新的版本进行复制URL,然后执行下面的命令:
sudo yum install -y https://mirrors.aliyun.com/docker-ce/linux/centos/8.5/x86_64/stable/Packages/containerd.io-1.6.9-3.1.el8.x86_64.rpm
继续报错:
Error:
Problem: problem with installed package podman-3.3.1-9.module_el8.5.0+988+b1f0b741.x86_64
- package podman-3.3.1-9.module_el8.5.0+988+b1f0b741.x86_64 requires runc >= 1.0.0-57, but none of the providers can be installed
- package containerd.io-1.6.9-3.1.el8.x86_64 conflicts with runc provided by runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64
- package containerd.io-1.6.9-3.1.el8.x86_64 obsoletes runc provided by runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64
- conflicting requests ## 包冲突了
- package runc-1.0.0-66.rc10.module_el8.5.0+1004+c00a74f5.x86_64 is filtered out by modular filtering
- package runc-1.0.0-72.rc92.module_el8.5.0+1006+8d0e68a2.x86_64 is filtered out by modular filtering
(try to add '--allowerasing' to command line to replace conflicting packages or '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)
报错信息:在安装containerd.io
时需要安装podman
,而podman
需要依赖runc 1.0.0-57
及以上版本,但是系统已经存在了runc 1.0.2-1
,两个版本冲突了。
直接卸载掉当前存在的runc
版本即可。
# 先查看当前已经存在runc版本信息
sudo yum list runc
Last metadata expiration check: 0:03:22 ago on Sun 06 Aug 2023 11:45:40 AM CST.
Installed Packages
runc.x86_64 1.0.2-1.module_el8.5.0+911+f19012f9 @AppStream
# 卸载掉当前已经存在runc版本
sudo yum remove runc-1.0.2-1.module_el8.5.0+911+f19012f9.x86_64
至此,安装containerd.io
的冲突报错问题解决,重新开始安装即可。
# 安装containerd.io
sudo yum install -y https://mirrors.aliyun.com/docker-ce/linux/centos/8.5/x86_64/stable/Packages/containerd.io-1.6.9-3.1.el8.x86_64.rpm
# 安装docker
sudo yum install docker-ce -y
# 查看docker版本
docker version
# 安装docker compose
# 先升级pip3
sudo pip3 install --upgrade pip
# 或者指定镜像源
sudo pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade pip
# 在这一步可能会遇到下载超时的情况,反复多执行几次,直到安装成功
sudo pip3 install docker-compose
# 或者指定镜像源
sudo pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple docker-compose
# 查看docker compose版本
docker-compose version
【参考】
centos8 安装 docker 全步骤
Centos8安装最新稳定版Docker-ce出现containerd.io >= 1.2.2-3
docker(centos8)安装遇到的坑
CentOS8 安装 docker 和 docker-compose