簡體   English   中英

docker 如何加載差異圖像

[英]How docker load a diff image

我知道docker save可以將圖像保存到 tar 並使用docker load重新加載圖像。

例如:

我有一台機器 A 和 B。B無法連接集線器 A 是圖像:最新,B 是圖像:基礎。

我必須將A 中的多圖像保存為某個 tar 文件,但 tar 文件太大而無法傳輸。

我可以保存在標簽或圖像ID之間的差異和B中加載差異

不保存整個圖像,這有助於將補丁更新得更小。

使用標准 Docker 工具無法做到這一點。 docker save的唯一選項是寫入文件而不是標准輸出的選項,並且它始終包含所有父層(和基礎圖像)。

如果您唯一的問題是傳輸映像,請考慮使用減少映像大小的技術(例如,使用多階段映像在最終映像中不包含構建時依賴項)或使用split (1) 之類的工具來破壞tar 文件分成更小的部分。

我相信docker save tar 文件輸出與“導出圖像”API 調用相同 可能可以手動編輯該 tar 文件以刪除圖層,並且可能有工具可以執行此操作。 (不過,這並不是一條特別主流的路徑;我幾年前研究過它,但自己沒有做過,偶爾會看到很少見的 SO 答案中提到的工具。)

docker pulldocker save的標准行為之間,只創建完整的圖像鏈,原則上沒有辦法設置 Docker,這樣你就永遠不會只有圖像的“上半部分”,而沒有下面的基礎層。 手動編輯docker save tar 文件將違反此不變量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM