OCI定义了容器运行时标准,runC是Docker按照开放容器格式标准(OCF, Open Container Format)制定的一种具体实现。

runC是从Docker的libcontainer中迁移而来的,实现了容器启停、资源隔离等功能。Docker默认提供了docker-runc实现,事实上,通过containerd的封装,可以在Docker Daemon启动的时候指定runc的实现。

我们可以通过启动Docker Daemon时增加--add-runtime参数来选择其他的runC现。

containerd向上为Docker Daemon提供了gRPC接口,使得Docker Daemon屏蔽下面的结构变化,确保原有接口向下兼容。向下通过containerd-shim结合runC,使得引擎可以独立升级,避免之前Docker Daemon升级会导致所有容器不可用的问题。

Docker一开始就一家独大,并且并不是一种开放的态姿态在做,所以很早之前Google就投资了CoreOS来做竞争的容器--Rocket。那时是三家鼎立:Docker/Rocket/Warden,为了避免惨烈的竞争,大家终于统一意见,决定成立OCI做统一的容器运行时---RunC,OCI成立后加入了大约50家厂商。出于对Docker封闭化商业式发展的担心,OCI商讨出这种方案:以RunC为核心重新构建生态圈,并且通过插件来弱化容器在CaaS生态圈的重要性。

最新文章

  1. 讨论下IDS的绕过
  2. /dev/console,/dev/null,/dev/tty
  3. SPOJ PGCD(莫比乌斯反演)
  4. Google 开源项目的风格指南
  5. .NET Framework 4.7 安装
  6. spring boot项目如何测试,如何部署
  7. linux 软链接的创建、删除和更新
  8. TP3.2框架中的字母函数解析
  9. Request的方法和数组
  10. jQuery基础2
  11. [译]Golang中的优雅重启
  12. 服务器中了蠕虫病毒Wannamine2.0小记
  13. [小A与最大子段和][斜率优化dp+二分]
  14. 第15章 上下文管理器和else块
  15. Java 回调函数例子
  16. XStream--java对象与xml形式文件相互转换
  17. angular学习笔记(三十)-指令(10)-require和controller
  18. 好强大的vim配置文件
  19. LeetCode-342:Power of Four
  20. Spring细粒度控制扫描Bean

热门文章

  1. 【SSH】——spring的控制反转和依赖注入
  2. 【SSH】——使用ModelDriven的利与弊
  3. CSS设计指南之伪类
  4. Spring Data JPA 简单查询
  5. Sigar应用
  6. 【转】C#获取当前路径7种方法
  7. 周记【距gdoi:110天】
  8. THUSC2014酱油记
  9. [ZJOI2005]午餐 (DP)
  10. 简单瞎搞题(bitset的操作)