docker 鏡像采用分層存儲機制,每一層是對其父層的修改版本,允許鏡像輕松共享層以節(jié)省存儲空間。鏡像使用 oci 標(biāo)準(zhǔn)化存儲格式,存儲于本地主機(/var/lib/docker/image)和 docker 注冊表(如 docker hub)。
Docker 鏡像的存儲機制
Docker 鏡像是創(chuàng)建和運行容器的模板。它們存儲在 Docker 注冊表中,可以從 Docker Hub 或其他注冊表中拉取。
Docker 鏡像分層存儲,每一層都是其父層的修改版本。這使得鏡像可以輕松共享層,從而節(jié)省存儲空間。
存儲格式
Docker 鏡像使用了一種稱為 OCI (Open Container Initiative) 鏡像規(guī)范的標(biāo)準(zhǔn)化存儲格式。此格式定義了鏡像的文件結(jié)構(gòu)和內(nèi)容。
存儲位置
Docker 鏡像存儲在以下位置:
本地主機:拉取的鏡像存儲在 /var/lib/docker/image 目錄中。
Docker 注冊表:鏡像也可以存儲在 Docker 注冊表中,如 Docker Hub。
分層機制
Docker 鏡像被組織成一系列分層,每一層都是其父層的修改版本。這些層是按順序堆疊的,底層是基礎(chǔ)鏡像,頂層是最新的修改。
每個層包含對文件系統(tǒng)的更改,如添加或刪除文件。當(dāng)創(chuàng)建新的鏡像時,它將從父鏡像繼承所有底層,并在其頂部添加自己的修改層。
節(jié)省空間
分層存儲機制通過允許共享底層節(jié)省存儲空間。當(dāng)多個鏡像共享相同的底層時,它們只需要存儲各自的修改層。
例如,如果有一個基于 Debian 鏡像的鏡像,并且兩個鏡像都安裝了 Apache,則它們將共享相同的 Debian 底層。只有 Apache 層會有所不同,從而節(jié)省存儲空間。






