杜郎俊赏 - dujun.io

开源实例之containerd

前言

containerd is an industry-standard container runtime with an emphasis on simplicity, robustness and portability.

containerd 是一个工业级标准的容器运行时,它强调简单性、健壮性和可移植性。

官网地址是https://containerd.io

containerd的架构

containerd is available as a daemon for Linux and Windows. It manages the complete container lifecycle of its host system, from image transfer and storage to container execution and supervision to low-level storage to network attachments and beyond.

containerd的功能

* 管理容器的生命周期(从创建容器到销毁容器)
* 拉取/推送容器镜像
* 存储管理(管理镜像及容器数据的存储)
* 调用 runC 运行容器(与 runC 等容器运行时交互)
* 管理容器网络接口及网络

containerd的发展

containerd 是从 Docker 项目中分离出来的,早期只是作为 Docker 创建容器的子组件而存在,正如当时 Kubernetes 是作为 Docker 的容器编排工具而知名。

随着 Kubernetes 强势起来,Docker在容器生态大战中败北,2017年 Docker公司将containerd捐献给了CNCF(Cloud Native Computing Foundation 云原生计算基金会)。Kubernetes 制定了 CRI(Container Runtime Interface 容器运行时接口),跳过 Docker 直接操作 containerd,减少了程序链路:

在可预见的未来,containerd 将伴随 Kubernetes 生态继续壮大,或将取代 Docker 本身。

containerd的使用

安装 Docker 后,containerd 是默认一起安装的,自带的客户端是ctr,与 Docker 命令类似。

列出镜像

sudo ctr images ls

拉取镜像

sudo ctr images pull docker.io/library/hello-world:latest

运行容器

sudo ctr run docker.io/library/hello-world:latest hello-world

后记

题图:爱蜜社 Vol.666 张思允

体验更多开源实例

标签: 开源实例
日期:2023-01-08