Docker如何共享资源

bla*_*ipz 7 linux lxc docker

我一直在研究Docker,从这篇文章中我了解到,运行多个Docker 容器意味着速度很快,因为它们通过“ LXC主机”共享内核级资源,但是,我还没有找到任何有关这种关系如何工作的文档特定于docker配置,以及在什么级别共享资源。

共享资源与Docker映像和Docker容器有什么关系?如何共享资源?

编辑:

在谈论共享资源的“内核”时,这是哪个内核?它是指主机操作系统(docker二进制文件所在的级别)还是指容器所基于映像的内核?基于不同Linux发行版的容器是否需要在不同类型的内核上运行?

编辑2:

为了使我的问题更加清楚,我进行了最后的编辑,我很好奇Docker 是否真的没有运行映像的完整操作系统,正如他们在本页上“ Docker与VM有何不同”中建议的那样

以下语句似乎与上图(此处取自)矛盾

容器由操作系统,用户添加的文件和元数据组成。如我们所见,每个容器都是根据图像构建的。

Pet*_*r R 5

严格来说,Docker不再必须使用用户工具LXC。它仍然使用内部容器库libcontainer中的相同基础技术。实际上,Docker可以使用各种系统工具在进程和内核之间进行抽象: 在此处输入图片说明 对于不同的发行版,内核不必有所不同-但是您不能运行非Linux操作系统。主机和容器的内核是相同的,但是它支持某种上下文感知,以将它们彼此分离。

每个容器在内核之外的所有方面都包含一个单独的OS。它具有自己的用户空间应用程序/库,并且出于所有意图和目的,其行为就像具有自己的内核一样。