小編給大家分享一下Docker導入導出的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
export&import | save&load | |
---|---|---|
操作對象 | 容器 | 鏡像 |
導出對象 | tar 文件 | tar 文件 |
導入對象 | 鏡像 | 鏡像 |
鏡像層數 | 一層 | 多層 |
下面我們來一行一行的解釋
操作的對象不同, export 和 import 是用來導入導出容器用的, 而 save 和 load 是用來導入導出鏡像用的.
例如: 你需要把 A
機器上的 甲
容器遷移到 B
機器, 且 甲
容器中有重要的數據需要隨之一起遷移的, 就可以使用 export 和 import
參數來導入和導出
例如: 你的服務器不能 pull 下來某個鏡像, 但是你有一臺海外的機器, 你可以在海外的那臺機器上把需要的鏡像 pull 下來, 然后把該鏡像通過 save
命令導出為一個 tar 包, 再將 tar 包拉回到本地導入
所以, 從功能定位上, 你就記住 save 和 load
參數是用來遷移鏡像的這個場景就行了, 另外的 export 和 import
當然就是用來遷容器的
在導出對象這一點, export
和 save
導出的文件形式都是一樣的, 兩者都是導出為一個 tar 包
在導入上, import
和 load
通過 tar 包導入的都是一個鏡像
最大的區別就在這里, 通過export 和 import
導出的容器形成鏡像時, 該鏡像只有一層
通過save
和 load
導出的鏡像保留了原鏡像所有的層次結構, 導出時原鏡像有幾層, 導入的時候就還是有幾層
導出容器, 很快就想到唯一一個可以導出容器的工具 export
但是又想保留底層鏡像的層次結構, 那么 export
就不符合需求了
想想導出帶層次結構的工具就只有鏡像導出工具 save
了, 但是容器在鏡像層之上還有一層新的數據怎么一起導出去呢?
這個時候就需要引入一個新的參數 commit
, 用來保存容器現有的狀態為一個新的鏡像
比如在 A
機器上運行的 甲
容器是基于 甲方乙方
這個鏡像跑起來的, 那么我就可以通過 commit
參數, 將 甲
容器的所有內容保存為一個新的鏡像, 名字叫 私人訂制
(內含一梗哦) 最后我再通過鏡像導出工具 save
就可以完整的將 私人訂制
鏡像(也就是 甲容器
)導出為一個 tar 包了
而且包含了 X+1 層鏡像, X 層是原鏡像 甲方乙方
的所有鏡像層數, 1是容器 甲
多的那一層可寫層的鏡像
以上是“Docker導入導出的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。