docker正在使用哪个容器实现

docker正在使用哪个容器实现

Docker 基于 Linux 容器和控制组。但我想知道docker正在使用哪种Linux容器实现?是使用 Linux 的本机/默认(LXC 执行环境)还是他们有自己的实现?

答案1

Docker 在 2014 年从使用 LXC 转向使用他们自己的 libcontainer 库。

LXC 使用他们的 (www.linuxcontainers.org) liblxc 库。

这两个库都利用了 Linux 内核命名空间技术。 LWN 有一个关于命名空间的多部分博客: https://lwn.net/Articles/531114/

答案2

无论是Docker还是LXC,容器技术的核心实现都是一样的:都是由Linux内核本身提供的。内核提供了多种机制,例如命名空间(mount、network、pid...)、cgroup 等。因此 docker 和 lxc 都使用这些功能来简化容器管理并自动化特定用例。

这意味着如果没有 Linux 内核提供的功能,docker 和 lxc 都不会存在。 lxc 和 docker 之间的主要区别在于使用哪组 Linux 内核功能/api 以及支持哪些工作流程和用例。

相关内容