LXC 和 libcontainer 的区别
Difference between LXC and libcontainer
在浏览 docker 文档时,我发现 docker 现在正在使用 libcontainer 而不是 LXC。有没有人知道 libcontainer 如何比 LXC 更好(如果是这样..)?
Linux Containers (LXC) was used before docker 0.9 (On March 13, 2014, with the release of version 0.9, Docker 放弃了 LXC 作为默认执行环境,并用自己的 libcontainer 库替换它)作为 docker 的一个执行驱动程序,并提供Linux 内核包含功能的用户空间接口。它非常具体 Linux
libcontainer(现在opencontainers/runc
) is an abstraction, in order to support a wider range of isolation technologies as described in this article
这意味着 Docker 从其原始实现中抽象出来,允许其他供应商(如 CoreOS)实现他们自己的容器版本。
注:从那时起(What’s the difference between runc, containerd, docker?)显示:
In 2016 the container space was booming and docker decided to split the monolith into separate parts, some of which other projects can even build on — that’s how containerd
happened. That was Docker 1.11 (so pretty much ancient history).
Containerd is a daemon that acts as API facade for various container runtimes and OS. When using containerd,
you no longer work with syscalls, instead you work with higher-level entities like snapshot and container — the rest is abstracted away.
If you want to understand containerd
even more in depth, there’s a design documentation in their GitHub repo.
Under the hood, containerd
uses runc
to do all the linux work.
在“”查看更多信息
我宁愿建议您完成此 link 以完全理解 Docker 启动 libcontainer
的原因
http://www.zdnet.com/article/docker-libcontainer-unifies-linux-container-powers/
据我所知.. LXC 是 docker 引擎执行其 container/namespace 和其他引擎的默认执行驱动程序。 Docker 开发了 'libcontainer' 并添加到他们的 docker 引擎中。如果我错了,请纠正我。
在浏览 docker 文档时,我发现 docker 现在正在使用 libcontainer 而不是 LXC。有没有人知道 libcontainer 如何比 LXC 更好(如果是这样..)?
Linux Containers (LXC) was used before docker 0.9 (On March 13, 2014, with the release of version 0.9, Docker 放弃了 LXC 作为默认执行环境,并用自己的 libcontainer 库替换它)作为 docker 的一个执行驱动程序,并提供Linux 内核包含功能的用户空间接口。它非常具体 Linux
libcontainer(现在
opencontainers/runc
) is an abstraction, in order to support a wider range of isolation technologies as described in this article
这意味着 Docker 从其原始实现中抽象出来,允许其他供应商(如 CoreOS)实现他们自己的容器版本。
注:从那时起(What’s the difference between runc, containerd, docker?)显示:
In 2016 the container space was booming and docker decided to split the monolith into separate parts, some of which other projects can even build on — that’s how
containerd
happened. That was Docker 1.11 (so pretty much ancient history).
Containerd is a daemon that acts as API facade for various container runtimes and OS. When usingcontainerd,
you no longer work with syscalls, instead you work with higher-level entities like snapshot and container — the rest is abstracted away.
If you want to understandcontainerd
even more in depth, there’s a design documentation in their GitHub repo.
Under the hood,containerd
usesrunc
to do all the linux work.
在“
我宁愿建议您完成此 link 以完全理解 Docker 启动 libcontainer
的原因http://www.zdnet.com/article/docker-libcontainer-unifies-linux-container-powers/
据我所知.. LXC 是 docker 引擎执行其 container/namespace 和其他引擎的默认执行驱动程序。 Docker 开发了 'libcontainer' 并添加到他们的 docker 引擎中。如果我错了,请纠正我。