【问题标题】:Difference between LXC and libcontainer [closed]LXC 和 libcontainer 之间的区别 [关闭]
【发布时间】:2016-03-13 03:57:49
【问题描述】:

在浏览 docker 文档时,我发现 docker 现在使用的是 libcontainer 而不是 LXC。有没有人知道 libcontainer 如何比 LXC 更好(如果是这样..)?

【问题讨论】:

    标签: docker lxc


    【解决方案1】:

    这意味着 Docker 将自己从其原始实现中抽象出来,允许其他供应商(如 CoreOS)实现自己的容器版本


    注意:从那时起(What’s the difference between runc, containerd, docker?)显示:

    在 2016 年,容器空间蓬勃发展,docker 决定将单体架构拆分为多个独立部分,其中一些甚至可以用于其他项目 — 这就是 containerd 发生的事情。那是 Docker 1.11(非常古老的历史)。
    Containerd 是一个守护进程,充当各种容器运行时和操作系统的 API 门面。使用 containerd, 时,您不再使用系统调用,而是使用更高级别的实体,如快照和容器 — 其余部分被抽象出来。
    如果您想更深入地了解 containerd,请在他们的 GitHub 存储库中找到 design documentation
    在底层,containerd 使用 runc 完成所有 linux 工作 .

    在“How containerd compares to runC”查看更多信息

    【讨论】:

    • 问题是关于 libcontainer,而不是关于 libnetwork
    • @ISanych 对,那我改写答案
    • @VonC 感谢您的回复。这意味着,现在 docker 有了命名空间、cgroups(来自 LXC)和来自 libcontainer 的附加内核特性 selinux、netlink、功能等。我是对的 VonC 吗?
    • @YogeshJilhawar 是的,这就是 SPEC 提到的(github.com/opencontainers/runc/blob/…:amespaces、标准文件系统设置、默认 Linux 功能集以及有关资源预留的信息)
    【解决方案2】:

    我宁愿建议你通过这个链接来全面了解 Docker 为什么启动 libcontainer

    http://www.zdnet.com/article/docker-libcontainer-unifies-linux-container-powers/

    【讨论】:

    • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接的答案可能会失效。
    【解决方案3】:

    据我所知.. LXC 是 docker 引擎执行其容器/命名空间等的默认执行驱动程序。 Docker 开发了“libcontainer”并添加到他们的 docker 引擎中。如果我错了,请纠正我。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-04
      • 1970-01-01
      • 1970-01-01
      • 2011-06-24
      • 2014-11-28
      • 2016-08-01
      • 2011-10-07
      • 2012-01-12
      相关资源
      最近更新 更多