什麼是Docker映像
簡單地理解,Docker映像就是一個Linux的檔案系統(Root FileSystem),這個檔案系統裡包含可以運行在Linux核心的程式以及對應的資料。
談到這裡,我們可能需要先補充一點與Linux作業系統相關的知識:
一般而言, Linux分為兩個部分:Linux核心(Linux Kernel)與使用者空間,而真正的Linux作業系統,是指Linux內核,我們常用的Ubuntu、CentOS等作業系統其實是不同廠商在Linux內核基礎上加入自己的軟體與工具集(tools)所形成的發表版本(Linux Distribution)。
因此,我們也可以把映像看成是上面所說的用戶空間,當Docker透過映像創建一個容器時,就是將映像定義好的用戶空間作為獨立隔離的進程運行在宿主機的Linux核心之上。
這裡要強調一下鏡像的兩個特徵:
1、鏡像是分層(Layer)的:即一個鏡像可以多個中間層組成,多個鏡像可以共享同一中間層,我們也可以透過在鏡像上添加多一層來產生一個新的鏡像。
2、鏡像的(read-only):鏡像在構建完成之後,便不可以再修改,而上面我們所說的添加一層構建新的鏡像,這中間實際上是通過建立一個臨時的容器,在容器上增加或刪除文件,從而形成新的鏡像,因為容器是可以動態改變的。
什麼是倉庫
倉庫(Repository)是集中儲存鏡像的地方,這裡有個概念要區分一下,那就是倉庫與倉庫伺服器(Registry)是兩回事,例如Docker Hub,就是Docker官方提供的倉庫伺服器,但有時候我們不太需要太過區分這兩個概念。
推薦教學:docker教學
以上是docker的映像和倉庫是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!