libcontainer vs Docker vs OCF vs runc?
libcontainer vs Docker vs OCF vs runc?
我正在努力更好地了解 Docker 世界,但似乎无法完全理解它们之间的差异。我相信 OCF 是一个新兴的容器标准,得到 OpenContainers 的认可,我 相信 Docker 被设置为成为该标准的第一个参考实施。但即便如此,我还是担心 Google 众神似乎没有为以下问题提供答案:
- OCF"standard"究竟是什么?只是一个书面文件?写成API?已编译的 C 库?
- 受此标准管辖的具体项目有哪些示例?我想如果没有真正理解“容器”是什么,我很难理解容器甚至地址的管理标准是什么。
- How/where runc 和 libcontainer 符合 Docker/OCF 等式吗?
Open Container Format (OCF) specification 是一份书面文档(或一组文档),根据文件系统、可用操作和执行环境定义了 "standard container" 是什么。该文档似乎是用 Go 代码备份的。此规范目前(2015 年 7 月)正在开发中。
Runc is an implementation of the standard. At the time of writing, it is basically a repackaging of libcontainer.
Docker 使用 libcontainer/runc,但在其之上添加了许多工具和功能,例如卷、网络和容器管理。
有关 Docker blog and Open Containers site 的更多信息。
如果您刚刚开始使用容器,我将从 Docker 开始,一旦您了解了容器的工作原理,稍后再研究其他项目。
以防万一有人像我一样偶然发现这个旧线程:这个规范不再称为 OCF,现在称为 "Open Container Initiative Runtime Specification",上面的 link 仍然有效尽管它现在会将您发送到 https://github.com/opencontainers/runtime-spec。 (Open Connectivity Foundation) 有不同的 OCF 规范。
我正在努力更好地了解 Docker 世界,但似乎无法完全理解它们之间的差异。我相信 OCF 是一个新兴的容器标准,得到 OpenContainers 的认可,我 相信 Docker 被设置为成为该标准的第一个参考实施。但即便如此,我还是担心 Google 众神似乎没有为以下问题提供答案:
- OCF"standard"究竟是什么?只是一个书面文件?写成API?已编译的 C 库?
- 受此标准管辖的具体项目有哪些示例?我想如果没有真正理解“容器”是什么,我很难理解容器甚至地址的管理标准是什么。
- How/where runc 和 libcontainer 符合 Docker/OCF 等式吗?
Open Container Format (OCF) specification 是一份书面文档(或一组文档),根据文件系统、可用操作和执行环境定义了 "standard container" 是什么。该文档似乎是用 Go 代码备份的。此规范目前(2015 年 7 月)正在开发中。
Runc is an implementation of the standard. At the time of writing, it is basically a repackaging of libcontainer.
Docker 使用 libcontainer/runc,但在其之上添加了许多工具和功能,例如卷、网络和容器管理。
有关 Docker blog and Open Containers site 的更多信息。
如果您刚刚开始使用容器,我将从 Docker 开始,一旦您了解了容器的工作原理,稍后再研究其他项目。
以防万一有人像我一样偶然发现这个旧线程:这个规范不再称为 OCF,现在称为 "Open Container Initiative Runtime Specification",上面的 link 仍然有效尽管它现在会将您发送到 https://github.com/opencontainers/runtime-spec。 (Open Connectivity Foundation) 有不同的 OCF 规范。