一、系统环境
1.1、Centos版本信息
[root@Centos8Node1 ~]# cat /etc/os-release
NAME="CentOS Linux"
VERSION="8 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="8"
PLATFORM_ID="platform:el8"
PRETTY_NAME="CentOS Linux 8 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:8"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-8"
CENTOS_MANTISBT_PROJECT_VERSION="8"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="8"
1.2、Docker源配置文件
[root@Centos8Node1 ~]# cat /etc/yum.repos.d/Docker-ce.repo
[docker-ce-stable]
name=Docker CE Stable - $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/$basearch/stable
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
二、安装Docker
2.1、默认安装
[root@Centos8Node1 ~]# yum install -y docker-ce
上次元数据过期检查:0:13:32 前,执行于 2020年04月04日 星期六 00时18分50秒。
错误:
问题: package docker-ce-3:19.03.8-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 excluded
- package containerd.io-1.2.13-3.1.el7.x86_64 is excluded
- package containerd.io-1.2.2-3.3.el7.x86_64 is excluded
- package containerd.io-1.2.2-3.el7.x86_64 is excluded
- package containerd.io-1.2.4-3.1.el7.x86_64 is excluded
- package containerd.io-1.2.5-3.1.el7.x86_64 is excluded
- package containerd.io-1.2.6-3.3.el7.x86_64 is excluded
(尝试添加 '--skip-broken' 来跳过无法安装的软件包 或 '--nobest' 来不只使用最佳选择的软件包)
https://download.docker.com/linux/centos/ #Docker官方源
无论是阿里源还是Docker官方源,都只有Centos7的RPM包,所以源是没问题的。从上面的信息可以看出,在安装最新的Docker时,yum程序并没有自动安装对应的container.io程序,
所以解决这个的办法有两个。
2.2、安装低版本Docker
2.2.1、查询可安装的Docker版本
yum list docker-ce --showduplicates|sort -r
此时列出了当前可安装的所有稳定版版本,在这里就以18.06.3.ce-3.el7版为例
yum install -y docker-ce-18.06.3.ce-3.el7 -q
这时候,docker就安装成功并启动了,下一个方法。
2.2.2、手动安装container.io
首先在已安装docker的环境下,再试一次安装最新docker
可以看到,此时依旧报错,那只能手动安装这个container.io了,打开下面这个网站
https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/edge/Packages/
选择最新的版本进行复制URL,然后执行下面的命令
安装containerd.io
yum install -y https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/edge/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm
安装Docker
yum install -y docker-ce
此时,Docker最新版已经安装并启动成功了