系统版本:Centos 8.2 ; Centos7
报错信息:
[root@server-01 /]# yum install -y docker-ce Last metadata expiration check: 0:01:05 ago on Thu 10 Sep 2020 12:03:16 AM PDT. Error: Problem: package docker-ce-3:19.03.12-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed - cannot install the best candidate for the job - package containerd.io-1.2.10-3.2.el7.x86_64 is filtered out by modular filtering - package containerd.io-1.2.13-3.1.el7.x86_64 is filtered out by modular filtering - package containerd.io-1.2.13-3.2.el7.x86_64 is filtered out by modular filtering - package containerd.io-1.2.2-3.3.el7.x86_64 is filtered out by modular filtering - package containerd.io-1.2.2-3.el7.x86_64 is filtered out by modular filtering - package containerd.io-1.2.4-3.1.el7.x86_64 is filtered out by modular filtering - package containerd.io-1.2.5-3.1.el7.x86_64 is filtered out by modular filtering - package containerd.io-1.2.6-3.3.el7.x86_64 is filtered out by modular filtering (try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)
问题分析:
因为containerd这个包版本太低了。docker最新版本不兼容。
解决办法:
1.第一种就是指定低版本的docker安装,这个本次我们不多介绍。
2.第二种就是升级containerd.io安装包。
docker各版本与containerd.io安装包下载位置:containerd
复制下面链接直接下载containerd.io-1.2.6-3.3.el7.x86_64.rpm :
wget https://download.docker.com/linux/centos/7/x86_64/edge/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm
安装containerd.io 需要联网
[root@server-01 /]# yum install -y /containerd.io-1.2.6-3.3.fc30.x86_64.rpm Last metadata expiration check: 1:22:13 ago on Thu 10 Sep 2020 12:03:16 AM PDT. Dependencies resolved. ====================================================================================== Package Arch Version Repository Size ====================================================================================== Installing: containerd.io x86_64 1.2.6-3.3.fc30 @commandline 21 M Installing dependencies: container-selinux noarch 2:2.124.0-1.module_el8.2.0+305+5e198a41 AppStream 47 k Enabling module streams: container-tools rhel8 Transaction Summary ====================================================================================== Install 2 Packages Total size: 21 M Total download size: 47 k Installed size: 84 M Downloading Packages: container-selinux-2.124.0-1.module_el8.2.0+305+5e198a 160 kB/s | 47 kB 00:00 -------------------------------------------------------------------------------------- Total 4.0 kB/s | 47 kB 00:11 warning: /var/cache/dnf/AppStream-a520ed22b0a8a736/packages/container-selinux-2.124.0-1.module_el8.2.0+305+5e198a41.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID 8483c65d: NOKEY CentOS-8 - AppStream 1.6 MB/s | 1.6 kB 00:00 Importing GPG key 0x8483C65D: Userid : "CentOS (CentOS Official Signing Key) <security@centos.org>" Fingerprint: 99DB 70FA E1D7 CE22 7FB6 4882 05B5 55B3 8483 C65D From : /etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial Key imported successfully Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Running scriptlet: container-selinux-2:2.124.0-1.module_el8.2.0+305+5e198a41. 1/2 Installing : container-selinux-2:2.124.0-1.module_el8.2.0+305+5e198a41. 1/2 Running scriptlet: container-selinux-2:2.124.0-1.module_el8.2.0+305+5e198a41. 1/2 Installing : containerd.io-1.2.6-3.3.fc30.x86_64 2/2 Running scriptlet: containerd.io-1.2.6-3.3.fc30.x86_64 2/2 Running scriptlet: container-selinux-2:2.124.0-1.module_el8.2.0+305+5e198a41.noarch 2/2 Running scriptlet: containerd.io-1.2.6-3.3.fc30.x86_64 2/2 Verifying : container-selinux-2:2.124.0-1.module_el8.2.0+305+5e198a41.noarch 1/2 Verifying : containerd.io-1.2.6-3.3.fc30.x86_64 2/2 Installed products updated. Installed: container-selinux-2:2.124.0-1.module_el8.2.0+305+5e198a41.noarch containerd.io-1.2.6-3.3.fc30.x86_64 Complete! [root@server-01 /]#
上面执行成功了可以忽略下面的内容,如果没有网络,可以先卸载之前的旧版本然后安装刚刚下载的新版
[root@server-01 /]# rpm -qa | grep containerd [root@server-01 /]# rpm -e containerd.io-xxxxxxxxxxxx.x86_64 [root@server-01 /]#rpm -ivh containerd.io-1.2.6-3.3.fc30.x86_64.rpm
升级containerd.io后安装docker即可。