執行docker load -i xxx.tar.gz時候報錯
open /var/lib/docker/xxx No such file or directory
這種情況屬於容器快照文件缺乏基礎鏡像導致的
因為docker使用了聯名文件系統,即在基礎鏡像上覆蓋一層可寫層來執行其他操作。
而容器快照文件只包含了上層操作,沒有底層的基礎鏡像。這也是docker save保存的鏡像壓縮包和docker export保存的容器快照壓縮包的區別。
實際應用的時候因為很多鏡像都使用了同一個基礎鏡像,所以使用容器快照的話更節省資源,不需要每個鏡像都加載基礎鏡像。
解決方案很簡單
一般容器快照文件都會包含minifest文件,找到minifest文件。里面會告訴你需要的基礎鏡像
docker load加載基礎鏡像之后docker load重新加載該壓縮包即可解決問題。