当前位置:首页 > 科技  > 软件

一文带你掌握Containerd

来源: 责编: 时间:2023-12-22 09:36:45 373观看
导读Containerd 是什么Containerd是一个开源的容器运行时工具,它为容器提供了核心功能。作为一个独立的项目,Containerd旨在管理容器的核心功能,如镜像管理、容器生命周期管理、网络和存储管理等。它是由Docker项目中的核心

Containerd 是什么

Containerd是一个开源的容器运行时工具,它为容器提供了核心功能。作为一个独立的项目,Containerd旨在管理容器的核心功能,如镜像管理、容器生命周期管理、网络和存储管理等。它是由Docker项目中的核心组件分离出来的,用于提供一个更加轻量级、独立且可嵌入的容器运行时环境。Containerd被设计为一个通用的核心容器运行时,因此许多容器平台和工具都可以构建在其之上,包括Kubernetes、Docker等。Containerd并不是直接面向终端用户的工具,而是为了提供稳定、可靠的容器基础设施,让开发者和其他项目可以基于它构建更高级别的容器化解决方案。lrG28资讯网——每日最新资讯28at.com

与 Docker 的关系

Docker和Containerd之间有一种父子关系。Containerd实际上是从Docker项目中拆分出来的,是Docker引擎中的核心组件之一。具体来说,Docker Engine在其架构中使用了一种插件化的方式,而Containerd就是其中一个重要的组件。Docker Engine的架构涵盖了各种功能模块,其中包括容器构建、镜像管理、容器运行时、网络和存储管理等。Containerd被用作Docker Engine中负责容器生命周期管理和基本操作的核心组件之一。因此,Docker实际上是建立在Containerd之上的应用层工具。当你使用Docker命令时,它会与Containerd交互以执行诸如创建、运行和管理容器等操作。然而,Containerd本身更加通用和抽象化,可以为其他容器平台和工具提供底层支持,而不仅限于Docker。总体而言,Docker是一个集成了各种工具和功能的容器平台,而Containerd是其中一个核心组件,负责提供基本的容器运行时功能。lrG28资讯网——每日最新资讯28at.com

安装Containerd

系统信息

[root@localhost ~]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core)

二进制安装

下载地址?https://github.com/containerd/containerd最新版本1.7.10lrG28资讯网——每日最新资讯28at.com

[root@localhost ~]# wget https://github.com/containerd/containerd/releases/download/v1.7.10/cri-containerd-1.7.10-linux-amd64.tar.gz[root@localhost ~]# tar xf cri-containerd-1.7.10-linux-amd64.tar.gz  -C /

生成Containerd配置

[root@localhost ~]# mkdir /etc/containerd[root@localhost ~]# containerd config default > /etc/containerd/config.toml查看配置[root@localhost ~]# cat/etc/containerd/config.toml安装好containerd 之后,Containerd的配置文件中有如下两项配置:root = /var/lib/containerdstate = "/run/containerd"root配置的目录是用来保存持久化数据的目录,包括content, snapshot, metadata和runtimestate 是用来保存运行时的临时数据的,包括 sockets、pid、挂载点、运行时状态以及不需要持久化的插件数据。

Containerd开机自启

[root@localhost ~]# systemctl enable --now containerdCreated symlink from /etc/systemd/system/multi-user.target.wants/containerd.service to /etc/systemd/system/containerd.service.[root@localhost ~]# systemctl start containerd验证其版本[root@localhost ~]# containerd --versioncontainerd github.com/containerd/containerd v1.7.10 4e1fe7492b9df85914c389d1f15a3ceedbb280ac

runc验证

默认 Containerd 安装好就会自带一个 runc 命令lrG28资讯网——每日最新资讯28at.com

执行runc命令,如果有版本号返回则为正常[root@localhost ~]# runc -vrunc version 1.1.10commit: v1.1.10-0-g18a0cb0fspec: 1.0.2-devgo: go1.20.10libseccomp: 2.5.4

如果运行runc命令时提示:runc: error while loading shared libraries: ?libseccomp.so.2: cannot open shared object file: No such file or directory,则表明runc没有找到libseccomp,需要安装 libseccomp libseccomp安装lrG28资讯网——每日最新资讯28at.com

[root@localhost ~]# wget https://github.com/opencontainers/runc/releases/download/v1.1.5/libseccomp-2.5.4.tar.gz[root@localhost ~]# tar xf libseccomp-2.5.4.tar.gz[root@localhost ~]# cd libseccomp-2.5.4/[root@localhost ~]# ./configure[root@localhost ~]# make && make install查找的到 即安装成功[root@localhost ~]# find / -name "libseccomp.so"/root/libseccomp-2.5.4/src/.libs/libseccomp.so /usr/local/lib/libseccomp.so

做软链lrG28资讯网——每日最新资讯28at.com

[root@localhost ]# ln -s /usr/local/lib/libseccomp.so /lib64/libseccomp.so.2再次查看[root@localhost ]# runc -vrunc version 1.1.10commit: v1.1.10-0-g18a0cb0fspec: 1.0.2-devgo: go1.20.10libseccomp: 2.5.4

也可以二进制runc安装?https://github.com/opencontainers/runc最新版本:1.1.10lrG28资讯网——每日最新资讯28at.com

[root@localhost ~]# wget https://github.com/opencontainers/runc/releases/download/v1.1.10/runc.amd64[root@localhost ~]# chmod +x runc.amd64查找containerd安装时已安装的runc所在的位置,然后替换[root@localhost ~]# which runc /usr/local/sbin/runc替换containerd已安装的runc[root@localhost ~]# mv runc.amd64 /usr/local/sbin/runc执行runc命令,如果有命令帮助则为正常[root@localhost ~]# runc -vrunc version 1.1.10commit: v1.1.10-0-g18a0cb0fspec: 1.0.2-devgo: go1.20.10libseccomp: 2.5.4

yum安装

在使用 yum 包管理器安装 Containerd 之前,需要先设置 Containerd 的 YUM 仓库。以下是大致的步骤:lrG28资讯网——每日最新资讯28at.com

准备YUM 仓库

创建一个名为 /etc/yum.repos.d/containerd.repo 的文件,并将以下内容添加到该文件中:lrG28资讯网——每日最新资讯28at.com

[containerd]name=containerdbaseurl=https://download.docker.com/linux/centos/7/$basearch/stablegpgcheck=1gpgkey=https://download.docker.com/linux/centos/gpgenabled=1

安装 Containerd

在设置好仓库文件后,运行以下命令以更新 YUM 缓存并使其识别新的仓库信息:lrG28资讯网——每日最新资讯28at.com

[root@localhost ~]# yum makecache[root@localhost ~]# yum install -y containerd.io

启动 Containerd

[root@localhost ~]# systemctl enable containerd[root@localhost ~]# systemctl start containerd

验证 Containerd

[root@localhost ~]# containerd -vcontainerd containerd.io 1.6.25 d8f198a4ed8892c764191ef7b3b06d8a2eeb5c7f[root@localhost ~]# runc -vrunc version 1.1.10commit: v1.1.10-0-g18a0cb0spec: 1.0.2-devgo: go1.20.10libseccomp: 2.3.1

Containerd 常见命令操作

更换 Containerd 后,以往常用的 docker 命令也不再使用,取而代之的分别是 crictl 和 ctr 两个命令客户端。一般来说某个主机安装了 k8s 后,命令行才会有 crictl 命令。而 ctr 是跟 k8s 无关的,主机安装了 containerd 服务后就可以操作 ctr 命令。lrG28资讯网——每日最新资讯28at.com

  • crictl 是遵循 CRI 接口规范的一个命令行工具,通常用它来检查和管理kubelet节点上的容器运行时和镜像。
  • ctr 是 containerd 的一个客户端工具。

还有一个更高级点的命令 nerdctl ,nerdctl 是用于 containerd 并且 兼容 docker cli 习惯的管理工具,主要适用于刚从 docker 转到 containerd 的用户,操作 containerd 的命令行工具 ctr 和 crictl 不怎么好用,所以就有了 nerdctl。lrG28资讯网——每日最新资讯28at.com


lrG28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-51843-0.html一文带你掌握Containerd

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 揭秘 Go 中 Goroutines 轻量级并发

下一篇: 先进存力!曙光存储位列国内第一阵营

标签:
  • 热门焦点
  • 线程通讯的三种方法!通俗易懂

    线程通信是指多个线程之间通过某种机制进行协调和交互,例如,线程等待和通知机制就是线程通讯的主要手段之一。 在 Java 中,线程等待和通知的实现手段有以下几种方式:Object 类下
  • 这款新兴工具平台,让你的电脑效率翻倍

    随着信息技术的发展,我们获取信息的渠道越来越多,但是处理信息的效率却成为一个瓶颈。于是各种工具应运而生,都在争相解决我们的工作效率问题。今天我要给大家介绍一款效率
  • 虚拟键盘 API 的妙用

    你是否在遇到过这样的问题:移动设备上有一个固定元素,当激活虚拟键盘时,该元素被隐藏在了键盘下方?多年来,这一直是 Web 上的默认行为,在本文中,我们将探讨这个问题、为什么会发生
  • 破圈是B站头上的紧箍咒

    来源 | 光子星球撰文 | 吴坤谚编辑 | 吴先之每年的暑期档都少不了瞄准追剧女孩们的古偶剧集,2021年有优酷的《山河令》,2022年有爱奇艺的《苍兰诀》,今年却轮到小破站抓住了追
  • 小米汽车电池信息疑似曝光:容量101kWh,支持800V高压快充

    7月14日消息,今日一名博主在社交媒体发布了一张疑似小米汽车电池信息的照片,显示该电池包正是宁德时代麒麟电池,容量为101kWh,电压为726.7V,可以预测小
  • 网传小米汽车开始筛选交付中心 建筑面积不低于3000平方米

    7月7日消息,近日有微博网友@长三角行健者爆料称,据经销商集团反馈,小米汽车目前已经开始了交付中心的筛选工作,要求候选场地至少有120个车位,建筑不能低
  • 三星折叠屏手机去年销售近1000万台 今年目标定为1500万

    7月29日消息,三星率先发力可折叠手机市场,在全球市场已经取得了非常亮眼的成绩,接下来会进一步巩固和扩大这一优势。三星在推出Galaxy Z Flip5和Galax
  • 三星显示已开始为AR设备研发硅基LED微显示屏

    7月18日消息,据外媒报道,随着苹果首款头显产品Vision Pro在6月份正式推出,AR/VR/MR等头显产品也就将成为各大公司下一个重要的竞争领域,对显示屏这一关
  • 滴滴违法违规被罚80.26亿 共存在16项违法事实

    滴滴违法违规被罚80.26亿 存在16项违法事实开始于2121年7月,历经一年时间,网络安全审查办公室对“滴滴出行”网络安全审查终于有了一个暂时的结束。据“网信
Top