什麼是鏡像?
簡單說,Docker鏡像是一個不包含Linux核心而又精簡的Linux作業系統。
鏡像從哪裡來?
Docker Hub是由Docker公司負責維護的公共注冊中心,包含大量的容器鏡像,Docker工具預設從這個公共鏡像庫下載下傳鏡像。 https://hub.docker.com/explore
預設是國外的源,下載下傳會慢,建議配置國内鏡像倉庫:
# vi /etc/docker/daemon.json
{"registry-mirrors": [ "https://registry.docker-cn.com"}
鏡像不是一個單一的檔案,而是有多層構成。我們可以通過docker history <ID/NAME> 檢視鏡像中各層内容及大小,每層對應着Dockerfile中的一條指令。Docker鏡像預設存儲在 /var/lib/docker/<storage-driver>中。
容器其實是在鏡像的最上面加了一層讀寫層,在運作容器裡做的任何檔案改動,都會寫到這個讀寫層。如果容器删除了,最上面的讀寫層也就删除了,改動也就丢失了。 Docker使用存儲驅動管理鏡像每層内容及可讀寫層的容器層。
鏡像管理指令
指令 | 描述 |
ls | 列出鏡像 |
build | 建構鏡像來自dockerfile |
history | 檢視鏡像曆史 |
inspect | 顯示一個或多個鏡像詳細資訊 |
pull | 從鏡像倉庫拉取鏡像 |
push | 推送一個鏡像到鏡像倉庫 |
rm | 移除一個鏡像 |
prune | 移除未使用的鏡像,沒有被标記或被任何容器引用的 |
tag | 建立一個引用源鏡像标記目标鏡像 |
export | 導出容器檔案系統到tar歸檔檔案 |
import | 導入容器檔案系統tar歸檔檔案建立鏡像 |
save | 儲存一個或多個鏡像到一個tar歸檔檔案 |
load | 加載鏡像來自tar歸檔或标準輸入 |