4.5 映像檔快取的秘密
在映像檔內,每一層映像層都有獨一無二由 SHA ( Secure Hash Algorithm ) 所計算出來的 ID,目的是幫助 Docker 去辨認是否已經有一樣的映像層。
舉例來說,我想要自製一個帶有 PHP 程式語言環境的映像檔,我們就使用 PHP 的映像檔當做基底,如下圖,以 PHP 做基底。
接著會撰寫 Dockerfile 在這個第一層的 PHP 之上增加新的映像層,像是加入環境變數,或是 COPY 本機的資料到映像檔內等等,如下圖所示:
接著我們又想要做另外一個也以 PHP 為基礎的映像檔,Docker 將會利用前面提到的獨一無二的 ID 辨識出已經有相同的 PHP 映像檔在本機之中,並利用其已存在的特性加快映像檔的建置,也一併減少了整體電腦耗費的硬體容量,這也是 Docker 最基本的快取機制。