Docker对Union File系统(例如AUFS)创建容器究竟做了什么?如果Docker必须使用常规文件系统而不是联合文件系统,那么会有什么缺点?
我正在寻找具体的技术细节/内部信息,而不是高水平的答案。
它用于:
该UnionFS:
为其他文件系统实现联合安装。它允许透明地覆盖独立文件系统(称为分支)的文件和目录,从而形成单个一致的文件系统。 合并分支内具有相同路径的目录的内容将在新的虚拟文件系统内的单个合并目录中一起看到。 这样可以使文件系统看起来可写,但实际上不允许写入更改文件系统,也称为 写时复制
为其他文件系统实现联合安装。它允许透明地覆盖独立文件系统(称为分支)的文件和目录,从而形成单个一致的文件系统。 合并分支内具有相同路径的目录的内容将在新的虚拟文件系统内的单个合并目录中一起看到。
这样可以使文件系统看起来可写,但实际上不允许写入更改文件系统,也称为 写时复制
如果没有UnionFS,一个200MB的映像将运行5次,因为5个独立的容器意味着1GB的磁盘空间。
请参阅“ Docker映像如何工作? ”。 有关更多技术细节,请参见:
jpetazzo