libcontainer vs Docker vs OCF vs runc?

sme*_*eeb 13 runc docker linux-containers

我试图更好地理解Docker世界,并且似乎无法将我的大脑包围在这些之间的差异.我相信 OCF是一个由OpenContainers认可的新兴容器标准,我相信 Docker将成为该标准的第一个参考实现.但即便如此,我也担心Google Gods似乎没有提供以下答案:

  • OCF的"标准" 究竟是什么?只是一份书面文件?一个书面的API?一个编译过的C lib?
  • 本标准规定的具体项目有哪些例子?我想如果没有真正理解什么是" 容器 ",我很难理解容器的管理标准甚至是什么.
  • runc和libcontainer如何/在哪里适合Docker/OCF等式?

Adr*_*uat 15

在开放容器格式(OCF)规范是一个书面文件(或一组文件)定义什么是"标准容器",在文件系统方面,可用的操作和执行环境.该文档似乎是使用Go代码备份的.该规范目前(2015年7月)正在进行中.

Runc是该标准的实现.在撰写本文时,它基本上是对libcontainer的重新包装.

Docker使用libcontainer/runc,但在顶部添加了许多工具和功能,例如卷,网络和容器管理.

有关Docker博客和Open Containers站点的更多信息.

如果您刚刚开始使用容器,我将从Docker开始,一旦您了解容器的工作原理,就可以查看其他项目.


小智 5

以防万一有人像我刚做的那样意外发现这个旧线程:该规范不再称为 OCF,现在称为“开放容器计划运行时规范”,上面的链接仍然有效,尽管它现在将您发送到https ://github.com/opencontainers/runtime-spec。有一个不同的 OCF 规范(Open Connectivity Foundation)。