如何在 CentOS 8 下安装 Docker Engine

技术 秋水逸冰 3407 次围观 1 次吐槽

CentOS 8 都已经到版本 8.2.2004 了,Docker 官方还是默认只提供 CentOS 7 的安装包。这是怎么回事呢?
网上搜了一下,说是因为 Red Hat 自己推出了 buildahpodman 准备替代 Docker。
虽说兼容性不错,但是你非要在 CentOS 8 下安装 Docker 能不能办到呢?
办法还是有的,只是需要手动来操作。稍微花点时间,按照本文操作步骤来就可以了。

本文将讲解如何在 CentOS 8 下安装 Docker Engine 以及 docker-compose。
在写本文时,Docker 最新版本号是 19.03.12。

$ docker version
Client: Docker Engine - Community
 Version:           19.03.12
 API version:       1.40
 Go version:        go1.13.10
 Git commit:        48a66213fe
 Built:             Mon Jun 22 15:46:54 2020
 OS/Arch:           linux/amd64
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          19.03.12
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.13.10
  Git commit:       48a66213fe
  Built:            Mon Jun 22 15:45:28 2020
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.2.13
  GitCommit:        7ad184331fa3e55e52b890ea95e65ba581ae3429
 runc:
  Version:          1.0.0-rc10
  GitCommit:        dc9208a3303feef5b3839f4323d9beb36df0a9dd
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683

1. 安装 docker-ce.repo

CentOS 8 下默认已经是 dnf 命令来进行包管理。
第一步就是安装 Docker 官方的 repo,执行命令如下:

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

2. 显示可用版本

$ dnf list docker-ce --showduplicates

返回一览如下。

Available Packages
docker-ce.x86_64    17.03.0.ce-1.el7.centos    docker-ce-stable
docker-ce.x86_64    17.03.1.ce-1.el7.centos    docker-ce-stable
docker-ce.x86_64    17.03.2.ce-1.el7.centos    docker-ce-stable
docker-ce.x86_64    17.03.3.ce-1.el7           docker-ce-stable
docker-ce.x86_64    17.06.0.ce-1.el7.centos    docker-ce-stable
docker-ce.x86_64    17.06.1.ce-1.el7.centos    docker-ce-stable
docker-ce.x86_64    17.06.2.ce-1.el7.centos    docker-ce-stable
docker-ce.x86_64    17.09.0.ce-1.el7.centos    docker-ce-stable
docker-ce.x86_64    17.09.1.ce-1.el7.centos    docker-ce-stable
docker-ce.x86_64    17.12.0.ce-1.el7.centos    docker-ce-stable
docker-ce.x86_64    17.12.1.ce-1.el7.centos    docker-ce-stable
docker-ce.x86_64    18.03.0.ce-1.el7.centos    docker-ce-stable
docker-ce.x86_64    18.03.1.ce-1.el7.centos    docker-ce-stable
docker-ce.x86_64    18.06.0.ce-3.el7           docker-ce-stable
docker-ce.x86_64    18.06.1.ce-3.el7           docker-ce-stable
docker-ce.x86_64    18.06.2.ce-3.el7           docker-ce-stable
docker-ce.x86_64    18.06.3.ce-3.el7           docker-ce-stable
docker-ce.x86_64    3:18.09.0-3.el7            docker-ce-stable
docker-ce.x86_64    3:18.09.1-3.el7            docker-ce-stable
docker-ce.x86_64    3:18.09.2-3.el7            docker-ce-stable
docker-ce.x86_64    3:18.09.3-3.el7            docker-ce-stable
docker-ce.x86_64    3:18.09.4-3.el7            docker-ce-stable
docker-ce.x86_64    3:18.09.5-3.el7            docker-ce-stable
docker-ce.x86_64    3:18.09.6-3.el7            docker-ce-stable
docker-ce.x86_64    3:18.09.7-3.el7            docker-ce-stable
docker-ce.x86_64    3:18.09.8-3.el7            docker-ce-stable
docker-ce.x86_64    3:18.09.9-3.el7            docker-ce-stable
docker-ce.x86_64    3:19.03.0-3.el7            docker-ce-stable
docker-ce.x86_64    3:19.03.1-3.el7            docker-ce-stable
docker-ce.x86_64    3:19.03.2-3.el7            docker-ce-stable
docker-ce.x86_64    3:19.03.3-3.el7            docker-ce-stable
docker-ce.x86_64    3:19.03.4-3.el7            docker-ce-stable
docker-ce.x86_64    3:19.03.5-3.el7            docker-ce-stable
docker-ce.x86_64    3:19.03.6-3.el7            docker-ce-stable
docker-ce.x86_64    3:19.03.7-3.el7            docker-ce-stable
docker-ce.x86_64    3:19.03.8-3.el7            docker-ce-stable
docker-ce.x86_64    3:19.03.9-3.el7            docker-ce-stable
docker-ce.x86_64    3:19.03.10-3.el7           docker-ce-stable
docker-ce.x86_64    3:19.03.11-3.el7           docker-ce-stable
docker-ce.x86_64    3:19.03.12-3.el7           docker-ce-stable

可以看到,截至目前,最新版已经到了 19.03.12

3. 事先安装依赖

要想安装 docker-ce 必须事先要安装好依赖 containerd.io,这里就是和 CentOS 7 下自动安装的最大区别。点击这里,查看最新版的 containerd.io。适当地替换下面命令里的下载链接。
执行如下命令:

$ dnf install -y https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.13-3.2.el7.x86_64.rpm

4. 安装 Docker

执行如下命令,注意其中有个 --nobest 选项:

$ dnf install -y --nobest docker-ce

5. 启动 Docker

上一步正确安装以后,接下来就要启动 Docker,并设置开机自启动。
启动 Docker 命令:

$ systemctl start docker

查看 Docker 状态:

$ systemctl status docker

设置开机自启动 Docker 命令:

$ systemctl enable docker

查看 Docker 版本信息:

$ docker version

6. 安装 docker-compose

利用 pip3 来安装 docker-compose 最为简单。
事先安装好 pip3 是必要的,如果本机没有安装,执行如下命令安装 pip3

$ dnf install -y python3-pip

查看 pip3 版本信息:

$ pip3 --version

返回值:

pip 9.0.3 from /usr/lib/python3.6/site-packages (python 3.6)

安装 docker-compose 命令

$ pip3 install docker-compose

查看 docker-compose 版本信息:

$ docker-compose --version

返回值:

docker-compose version 1.26.2, build unknown

7. 写在最后

如果系统开启了 firewalld,那么也许需要放行一下 Docker 的网卡才能正常使用网络。
执行命令:

$ firewall-cmd --permanent --zone=trusted  --add-interface=docker0
$ firewall-cmd --reload

注意这里的 Docker 的网卡名为 docker0。一般情况下都是这个名称,不过在此之前最好还是通过 ifconfig 命令来确认一下。

转载请注明:秋水逸冰 » 如何在 CentOS 8 下安装 Docker Engine

发表我的评论
取消评论

请输入正确答案后提交评论 *

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (1)

  1. 前排围观
    hey3个月前 (2020-07-29)回复