libcontainer vs Docker vs OCF vs runc?

时间:2015-07-03 19:25:50

标签: docker linux-containers runc

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

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

2 个答案:

答案 0 :(得分:14)

Open Container Format (OCF) specification是一个书面文档(或一组文档),用于定义“标准容器”在文件系统,可用操作和执行环境方面的含义。该文档似乎是使用Go代码备份的。该规范目前(2015年7月)正在进行中。

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

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

有关Docker blogOpen Containers site的更多信息。

如果您刚刚开始使用容器,我将从Docker开始,稍后在了解容器的工作原理后再查看其他项目。

答案 1 :(得分:1)

以防万一有人意外地发现这个旧线程就像我刚刚发现的那样:这个规范不再被称为OCF,它现在被称为" Open Container Initiative运行时规范",上面的链接仍然虽然它现在可以发送给你https://github.com/opencontainers/runtime-spec。 (Open Connectivity Foundation)有一个不同的OCF规范。