OverlayFS 是一種聯合文件系統,它在 Linux 內核中實現,允許將多個目錄(稱為“層”)疊加在一起,以創建一個統一的視圖
在 Docker 中,OverlayFS 主要用于實現鏡像和容器的存儲。Docker 使用鏡像來分發應用程序及其依賴項,并使用容器來運行這些應用程序。OverlayFS 在這兩個方面都發揮了重要作用:
鏡像存儲:Docker 鏡像由多個層組成,每個層表示一個文件系統更改。當 Docker 從一個基礎鏡像開始構建新鏡像時,它會在基礎鏡像的頂部添加一個新層。這個新層包含了基礎鏡像的所有文件,以及對這些文件所做的任何更改。OverlayFS 允許 Docker 將這些層疊加在一起,以創建一個統一的視圖,這樣用戶就可以看到一個完整的文件系統,而不需要關心底層的層結構。
容器存儲:當 Docker 從鏡像創建一個容器時,它會在鏡像的頂部添加一個可寫層。這個可寫層允許容器在運行時對文件系統進行更改,而不會影響到底層的鏡像。OverlayFS 再次發揮了作用,將這個可寫層與鏡像的只讀層疊加在一起,以創建一個統一的視圖,容器可以在其中運行應用程序。
總之,OverlayFS 在 Docker 中的作用是提供一種高效、靈活的方式來管理鏡像和容器的存儲。它允許 Docker 將多個層疊加在一起,以創建一個統一的文件系統視圖,同時保持底層數據的不變性和可共享性。這使得 Docker 能夠高效地分發和運行應用程序,同時節省存儲空間和網絡帶寬。