Docker是一種應用容器化平臺,其提供了一種分層傳輸的機制。這種機制允許容器運行時只發送必要的更改內容,從而節省帶寬和時間,提高效率。
//示例代碼: docker pull ubuntu
例如,在拉取一個 Ubuntu 鏡像時,Docker 使用多個層級來構建這個鏡像。每個層級都是只讀的,并可以被重復使用在不同的鏡像中。而且,每當使用 Dockerfile 中的指令時,都會在已有層級的基礎上增加一個新的層級。這就是分層傳輸的奧義所在。
//示例代碼: FROM ubuntu:18.04 RUN apt update && apt install -y nginx CMD nginx -g "daemon off;"
當構建該鏡像時,Docker 使用現有的 Ubuntu 鏡像作為基礎鏡像,然后添加一個新層級來安裝 Nginx 包,再添加一個新層級來設置 NGINX 的默認命令。
在不同的機器上,當拉取這個鏡像時,只需傳輸這些層級的變更部分,而不是整個鏡像。這不僅提高了效率,也使得部署過程更快速。