文档 · 2020年9月10日 0

安装docker 19.03报错

系统版本: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即可。

打赏