Hello World

行走即是圆梦,回望亦是前行。

0%

CentOS 8安装Docker失败

前言

这里简单记录下CentOS 8安装Docker失败的解决方案

参考教程

卸载podman

1
$ dnf remove -y podman

安装docker-ce官方源

1
2
$ dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
$ dnf update -y

安装docker-ce

1
$ dnf install -y docker-ce docker-ce-cli

安装docker-cecontainerd.io这个包会出现版本依赖的问题,如下

1
2
3
4
5
6
7
8
9
10
11
12
13
[root@iZwfpcur27gtv0Z ~]# dnf install -y docker-ce docker-ce-cli
Last metadata expiration check: 0:00:51 ago on Fri 10 Apr 2020 01:17:30 PM CST.
Error:
Problem: 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
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

解决方案:

  1. 安装老版本的docker-ce
  2. 升级container.io

选择方案2,因为官方的repo源里面的container.io版本比较老,下载符合版本要求的container.io

1
$ dnf install -y https://download.docker.com/linux/centos/7/x86_64/edge/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm

container.io更新完成后,安装docker-ce

1
$ dnf install -y docker-ce docker-ce-cli

如果下载慢,可以通过其他途径下载并依次安装下面的包

containerd.io-1.2.6-3.3.el7.x86_64.rpm

docker-ce-cli-19.03.8-3.el7.x86_64.rpm

docker-ce-19.03.8-3.el7.x86_64.rpm

1
2
3
$ yum install -y containerd.io-1.2.6-3.3.el7.x86_64.rpm
$ yum install -y docker-ce-cli-19.03.8-3.el7.x86_64.rpm
$ yum install -y docker-ce-19.03.8-3.el7.x86_64.rpm

服务自启

1
$ systemctl enable --now docker