目录

只安装Containerd不安装Docker

概述

随着 Kubernetes 1.24 的 Release,dockershim 是正式被弃用了,参考 CHANGELOG-1.24,这就意味着未来我们大概率是离开 Docker 越来越远的。

一般安装 Docker 官方文档的方法,是可以把 Containerd 也同时安装好的,但是如果只是希望安装 Containerd,而不要安装任何关于 Docker 的文件,则可以参考本文的安装过程。

操作

下面是用 Docker 的源来安装 Containerd,Docker 有给官方的源来安装 Containerd,因为本身 Docker 也应用了 Containerd,但是这个源并非 Containerd 项目提供的,不过一般使用 CentOS 的话,用下面这个命令就可以。

1
2
3
4
5
yum install -y yum-utils
yum-config-manager \
   --add-repo \
   https://download.docker.com/linux/centos/docker-ce.repo
yum install -y containerd.io

如果有指定的版本的要去,可以参考下面的命令。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
# CentOS7.9
yum install -y yum-utils
yum list docker-ce --showduplicates | sort -r
yum list containerd.io --showduplicates | sort -r
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 指定版本安装
yum install -y docker-ce-20.10.22 docker-ce-cli-20.10.22 containerd.io-1.5.11
# 启动Docker
systemctl enable docker
systemctl start docker

安装过程的输出如下:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# yum install containerd.io
Docker CE Stable - x86_64                                                                                               31 kB/s |  26 kB     00:00
Last metadata expiration check: 0:00:01 ago on Sun Jun 19 10:48:54 2022.
Dependencies resolved.
=======================================================================================================================================================
 Package                                  Architecture       Version                                                Repository                    Size
=======================================================================================================================================================
Installing:
 containerd.io                            x86_64             1.6.6-3.1.el8                                          docker-ce-stable              33 M
Installing dependencies:
 checkpolicy                              x86_64             2.9-1.el8                                              baseos                       348 k
 container-selinux                        noarch             2:2.180.0-1.module_el8.7.0+1106+45480ee0               appstream                     59 k
 policycoreutils-python-utils             noarch             2.9-17.el8                                             baseos                       252 k
 python3-audit                            x86_64             3.0-0.17.20191104git1c2f876.el8                        baseos                        86 k
 python3-libsemanage                      x86_64             2.9-6.el8                                              baseos                       127 k
 python3-policycoreutils                  noarch             2.9-17.el8                                             baseos                       2.2 M
 python3-setools                          x86_64             4.3.0-3.el8                                            baseos                       624 k
Enabling module streams:
 container-tools                                             rhel8

Transaction Summary
=======================================================================================================================================================
Install  8 Packages

Total download size: 37 M
Installed size: 135 M
Is this ok [y/N]:

上述步骤只安装了 Containerd,并没有把 runc 这些必备的软件也配上了,不过安装 yum 来安装,一般是会分析依赖的,如果本地没有,yum 会通过其他 repo 文件来安装 runc。初始化 Containerd 的配置。

1
containerd config default > /etc/containerd/config.toml

最后启动 Containerd。

1
2
3
# 设置开机启动
systemctl enable containerd
systemctl start containerd

总结

如果是安装 Containerd,也可以在 Containerd 的官方仓库里找到安装指导,但是目前关于 Containerd 的还文档比较少,因此本文选择直接用 Docker 的源来进行安装,主要只是安装 Containerd,而不会把 Docker 也安装,这才是本文操作的主要目的。

注意
本文最后更新于 2024年3月16日,文中内容可能已过时,请谨慎参考。