一篇了解Containerd容器运行时及安装
一、Containerd简介
1、什么是Containerd?
containerd是一个开源的容器运行时,是Docker引擎的一部分,也是CNCF的一个项目,Containerd提供了标准的容器运行时接口,当然也可以对容器进行管理,常常用来集成Kubernetes、Docker Compose等编排工具。
2、Containerd和Docker的区别是什么?
Docker和containerd都是容器技术实现的,有以下区别:
-
Docker是一个完整的容器平台,包括容器引擎、镜像仓库、网络、存储等组件,而Containerd是一个轻量级的容器运行时,只提供容器生命周期管理和基本的镜像操作。 Docker的API和CLI更加丰富,可以方便的进行容器创建,停止、启动、删除等操作,而containerd的API和CLI相对比较简单。 Docker的安全和稳定性更高,而Containerd则更加轻量级。 总之,Docker和Containerd使用的场景不通,Containerd一般集成编排工具使用,很少拿出来单独使用。
二、使用yum仓库安装Containerd
1、添加yum源
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo yum install -y yum-utils yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
2、安装containerd
yum -y install containerd.io-1.6.6
3、生成containerd配置文件
mkdir -p /etc/containerd containerd config default > /etc/containerd/config.toml
4、修改配置文件,修改以下两项配置即可。
vim /etc/containerd/config.toml SystemdCgroup = true sandbox_image = "registry.aliyuncs.com/google_containers/pause:3.7"
-
SystemdCgroup:使用SystemdCgroup驱动 sandbox_image:配置国内的沙箱镜像地址
沙箱镜像是一个特殊的镜像,其中包含了容器运行时所需的文件和工具,以及用于隔离容器的命名空间和cgroups等资源控制机制。当容器运行时需要创建新的沙箱时,会使用该配置项指定的镜像作为基础镜像来创建沙箱。
5、启动 && 设置自启动
systemctl enable containerd --now
三、使用源码安装Containerd
1、下载cri-containerd 官网下载:
wget -c https://github.com/containerd/containerd/releases/download/v1.6.6/cri-containerd-1.6.6-linux-amd64.tar.gz
国内下载:
wget https://gitee.com/qinziteng/K8S/raw/master/Package/cri-containerd-1.6.6-linux-amd64.tar.gz
2、拷贝containerd命令 && systemd管理文件
tar zxf cri-containerd-1.6.6-linux-amd64.tar.gz -C /usr/local/src/ cp /usr/local/src/usr/local/bin/* /usr/bin/ cp /usr/local/src/usr/local/bin/* /usr/local/bin/ cp /usr/local/src/etc/systemd/system/containerd.service /usr/lib/systemd/system/
3、生成containerd配置文件
mkdir -p /etc/containerd containerd config default > /etc/containerd/config.toml
4、修改配置文件,修改以下两项配置即可。
vim /etc/containerd/config.toml SystemdCgroup = true sandbox_image = "registry.aliyuncs.com/google_containers/pause:3.7"
4、启动containerd
systemctl start containerd
5、安装runC,如果没有runC命令无法创建容器
wget https://github.com/opencontainers/runc/releases/download/v1.1.7/runc.amd64 mv runc.amd64 /usr/bin/runc chmod +x /usr/bin/runc
四、配置国内镜像加速地址
1、配置加速地址
mkdir /etc/containerd/certs.d/docker.io/ -p vim /etc/containerd/certs.d/docker.io/hosts.toml [host."http://hub-mirror.c.163.com",host."https://registry.docker-cn.com"] capabilities = ["pull"]
2、指定加速目录
vim /etc/containerd/config.toml config_path = "/etc/containerd/certs.d"
3、重启containerd
systemctl restart containerd
4、下载镜像试试效果
ctr images pull docker.io/library/nginx:1.18.0
下一篇:
同源访问策略和跨域问题