在Docker中,鏡像是指一個輕量級、可移植的打包文件,其中包含了執行某個應用所需要的所有內容,諸如代碼、運行時、庫、環境變量等。每個鏡像都是通過一個或多個文件系統層構建而成。
一個Docker鏡像的文件系統層是一種可讀寫的分層結構,在鏡像的運行時中這些分層被整合成一個單一視圖。這種分層結構可以使得多個鏡像分享同一個文件系統,從而達到資源的共享和減少存儲空間的目的。
鏡像被視為Docker中最基礎的概念,Docker的運行時環境是基于鏡像的。一個Docker應用的運行時環境可以通過配置不同的鏡像來生成,并且可以根據需要對鏡像進行裁減、定制。例如,一個包含了Apache web服務器、PHP、MySQL等組件的完整的LAMP環境可以通過組裝已經存在的鏡像來實現定制。
$docker pull ubuntu:16.04 #從Docker Hub上拉取Ubuntu 16.04版本的鏡像文件
$docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu 16.04 b9e15a5d1e1a 12 days ago 120MB
拉取一個鏡像文件需要花費一些時間,但是一旦拉取下來,這個鏡像就可以在本地瞬間啟動多個運行實例,每個運行實例都是相互獨立而且輕量級的。