OverlayFS 是一种联合文件系统,它在 Linux 内核中实现,允许将多个目录(称为“层”)叠加在一起,以创建一个统一的视图
在 Docker 中,OverlayFS 主要用于实现镜像和容器的存储。Docker 使用镜像来分发应用程序及其依赖项,并使用容器来运行这些应用程序。OverlayFS 在这两个方面都发挥了重要作用:
镜像存储:Docker 镜像由多个层组成,每个层表示一个文件系统更改。当 Docker 从一个基础镜像开始构建新镜像时,它会在基础镜像的顶部添加一个新层。这个新层包含了基础镜像的所有文件,以及对这些文件所做的任何更改。OverlayFS 允许 Docker 将这些层叠加在一起,以创建一个统一的视图,这样用户就可以看到一个完整的文件系统,而不需要关心底层的层结构。
容器存储:当 Docker 从镜像创建一个容器时,它会在镜像的顶部添加一个可写层。这个可写层允许容器在运行时对文件系统进行更改,而不会影响到底层的镜像。OverlayFS 再次发挥了作用,将这个可写层与镜像的只读层叠加在一起,以创建一个统一的视图,容器可以在其中运行应用程序。
总之,OverlayFS 在 Docker 中的作用是提供一种高效、灵活的方式来管理镜像和容器的存储。它允许 Docker 将多个层叠加在一起,以创建一个统一的文件系统视图,同时保持底层数据的不变性和可共享性。这使得 Docker 能够高效地分发和运行应用程序,同时节省存储空间和网络带宽。