开源实例之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
后记
标签: 开源实例