linux – Docker还有bootfs吗?

我目前正在研究Docker的工作原理.据我所知,Docker无法启动,它只是在一个非常chrooted环境中启动一个进程.但是当我查看一些文档时,有人提到Docker有一个bootfs.这是一个只在挂载后挂载的文件系统,在挂载rootfs后卸载(我猜).但你无法看到或触摸它.我甚至找不到它.

Docker使用某种bootfs仍然是真的吗?例如,这些文章让我困惑:http://collabnix.com/understanding-docker-container-image/.它有bootfs,内核和cgroup.但据我所知,内核在Docker之外,它是主机系统的一部分.

我的主要问题是,Docker是否仍然使用bootfs来“启动”容器?而且,我在哪里可以看到该文件系统?

最佳答案
我想你可能已经发现了一些误导性的民间传说.我做了一个Google网站搜索“bootfs”(即site:docker.com bootfs)并且几乎找不到任何东西 – 实际上是四个结果.我搜索了这四个结果中的每一个,然后我将描述我发现的内容.

> Docker v1.9 Documentation: Images and Containers

这描述了图像和容器的结构及其与存储驱动程序的关系.字符串“bootfs”不会出现在此页面上.字符串“boot”也没有.

> Docker White Paper: Introduction to Container Security

本文档从安全角度描述了Docker容器实现.字符串“bootfs”只出现一次 – 在图中,它似乎是指主机的引导文件系统.

> Docker Forums: Linux distro compatibility between host and container

在这个论坛讨论中,字符串“bootfs”恰好出现一次 – 再次引用主机,而不是容器.

> Docker Qemu builds

这里的字符串在各种包名中显示为子字符串.没有迹象表明它与启动Docker容器有关.

我也搜索了Docker CE GitHub,但没有找到任何字符串“bootfs”的实例.

在对“docker bootfs location”“where is docker bootfs”表格进行了多次谷歌搜索之后,我发现了一些结果,这些结果似乎表明存在于容器级别的Docker bootfs的想法是用词不当.以下是几个这样的结果:

> Padge Blog: Containers Don’t Really Boot

这篇博文详细描述了Docker启动过程,并将其与典型的启动过程区分开来.

> Moby Github Issue: how i upgrade bootfs

在本期讨论中,贡献者将bootfs称为“您无法触摸”的“概念”.

转载注明原文:linux – Docker还有bootfs吗? - 代码日志