1.Docker鏡像

1.1.什麼是docker鏡像

鏡像是一種輕量級、可執行的獨立軟件包 ,用來打包軟件運行環境和基於運行環境開發的軟件,它 包含運行某個軟件所需的所有內容,包括代碼、運行時、庫、環境變量和配置文件。

簡單地理解,Docker鏡像就是一個Linux的文件系統(Root FileSystem),這個文件系統裏面包含可以運行在Linux內核的程序以及相應的數據.

   1.2docker鏡像的特點

docker鏡像都是隻讀的,當容器啓動時,一個新的可寫層被加載鏡像的頂部,這一層通常叫作容器層,容器層之下都叫鏡像層;

       1. 鏡像是分層(Layer)的

即一個鏡像可以多箇中間層組成,多個鏡像可以共享同一中間層,我們也可以通過在鏡像添加多一層來生成一個新的鏡像。

2.鏡像是隻讀的(read-only)

  鏡像在構建完成之後,便不可以再修改 ,而上面我們所說的添加一層構建新的鏡像,這中間實際是通過創建一個臨時的容器,在容器上增加或刪除文件,從而形成新的鏡像,因爲 容器是可以動態改變的

  1.3UnionFS(聯合文件系統)

         Union文件系統(UnionFs) 是一種分層、輕量級並且高性能的文件系統,他支持對文件系統的修改作爲一次提交來一層層的疊加,同時可以將不同目錄掛載到同一個虛擬文件系統下 ( unite several directories into a single virtual filesystem)。

  Union文件系統是 Docker鏡像的基礎 鏡像可以通過分層來進行繼承 ,基於基礎鏡像(沒有父鏡像),可以製作各種具體的應用鏡像 ,一次同時加載多個文件系統,但從外面看起來,只能看到一個文件系統,聯合加載會把各層文件系統疊加起來,這樣最終的文件系統會包含所有底層的文件和目錄

    1.4Docker鏡像加載原理

相關文章