深入理解container--容器运行时

本文介绍了容器运行时的概念,包括其在容器生命周期中的作用,如镜像格式、镜像管理和容器实例管理。重点讨论了OCI的运行时和镜像规范,以及runc作为OCI实现的角色。同时,分析了low-level和high-level容器运行时的区别,以containerd为例,详细阐述了其架构和工作流程,包括containerd-shim在容器管理中的作用。
摘要由CSDN通过智能技术生成

我们都知道,容器技术其实在很久以前就已经出现,但只是在最近十年由于云计算的发展才逐渐进入大众的视野。对于容器运行时,传统意义上来说就是代表容器从拉取镜像到启动运行再到中止的整个生命周期,较类似于 Java 中的 Java hotspot 运行时。在本文中我会介绍容器运行时相关概念及组件原理,梳理下我们常听到的 OCI、runc、containerd 等名词之间的关系。

何为容器运行时

容器运行时顾名思义就是要掌控容器运行的整个生命周期,以 docker 为例,其作为一个整体的系统,主要提供的功能如下:

  • 制定容器镜像格式
  • 构建容器镜像 docker build
  • 管理容器镜像 docker images
  • 管理容器实例 docker ps
  • 运行容器 docker run
  • 实现容器镜像共享 docker pull/push

然而这些功能均可由小的组件单独实现,且没有相互依赖。而后 Docker 公司与 CoreOS 和 Google 共同创建了 OCI (Open Container Initial),并提供了两种规范:

  • 运行时规范(https://github.com/opencontainers/runtime-spec)
    描述如何运行filesystem bundle
  • 镜像规范(https://github.com/opencontainers/image-spec)
    制定镜像格式、操作等

filesystem bundle(文件系统束): 定义了一种将容器编码为文件系统束的格式,即以某种方式组织的一组文

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值