在浏览docker docs时,我发现docker现在使用的是libcontainer而不是LXC。有没有人知道libcontainer如何比LXC更好(如果......)?
opencontainers/runc
)是一种抽象,以支持更广泛的隔离技术,如described in this article这意味着Docker正在从其原始实现中抽象出来,允许其他供应商(如CoreOS)实现自己的容器版本。
注意:从那以后(What’s the difference between runc, containerd, docker?)显示:
2016年,集装箱空间蓬勃发展,码头工人决定将巨石分成不同的部分,其中一些项目甚至可以建立 - 这就是
containerd
的发生方式。这就是Docker 1.11(非常古老的历史)。 Containerd是一个守护进程,充当各种容器运行时和操作系统的API外观。当使用containerd,
时,您不再使用系统调用,而是使用更高级别的实体,如快照和容器 - 其余的被抽象掉。 如果你想更深入地了解containerd
,他们的GitHub回购中会有一个design documentation。 在引擎盖下,containerd
使用runc
来完成所有linux工作。
我宁愿建议您通过此链接来全面了解Docker为何启动libcontainer
http://www.zdnet.com/article/docker-libcontainer-unifies-linux-container-powers/
据我所知..LXC是docker引擎执行其容器/命名空间等的默认执行驱动程序。 Docker开发了“libcontainer”并添加到他们的docker引擎中。如果我错了,请纠正我。