本文介紹docker映象的匯入匯出,用於遷移、備份、公升級等場景,準備環境如下:
centos 7.0
docker 1.18
匯入匯出命令介紹
涉及的命令有export、import、s**e、load
s**e
命令docker s**e [options] images [images...]
示例docker s**e -o nginx.tar nginx:latest
或docker s**e > nginx.tar nginx:latest
其中-o和》表示輸出到檔案,nginx.tar為目標檔案,nginx:latest是源映象名(name:tag)
load
命令docker load [options]
示例docker load -i nginx.tar
或docker load < nginx.tar
其中-i和《表示從檔案輸入。會成功匯入映象及相關元資料,包括tag資訊
export
命令docker export [options] container
示例docker export -o nginx-test.tar nginx-test
其中-o表示輸出到檔案,nginx-test.tar為目標檔案,nginx-test是源容器名(name)
import
命令docker import [options] file|url|- [repository[:tag]]
示例docker import nginx-test.tar nginx:imp
或cat nginx-test.tar | docker import - nginx:imp
區別export命令匯出的tar檔案略小於s**e命令匯出的
export命令是從容器(container)中匯出tar檔案,而s**e命令則是從映象(images)中匯出
基於第二點,export匯出的檔案再import回去時,無法保留映象所有歷史(即每一層layer資訊,不熟悉的可以去看dockerfile),不能進行回滾操作;而s**e是依據映象來的,所以匯入時可以完整保留下每一層layer資訊。如下圖所示,nginx:latest是s**e匯出load匯入的,nginx:imp是export匯出import匯入的。
建議可以依據具體使用場景來選擇命令
若是只想備份images,使用s**e、load即可
若是在啟動容器後,容器內容有變化,需要備份,則使用export、import
**:
Docker映象的匯入匯出的實現方法
匯入匯出命令介紹 涉及的命令有export import s e load s e 命令doc程式設計客棧ker s e options images images.示例docker s e o nginx.tar nginx latest 或 docwww.cppcns.comker s e ng...
在 docker 之間匯出匯入映象的方法
很喜歡玩docker,但最新遇到乙個問題,公司給的新機器的dns有問題,導致pull不下來映象。沒辦法了,沒有映象什麼神馬都幹不了,又不能花很多時間去搭建私有的映象庫,只有另尋辦法了。廢話少說,經過 發現 docker 提供把映象匯出程式設計客棧export 儲存s e 為檔案的機制,這樣就可以把映...
liunux deploy映象的匯出與匯入
上篇 linux deploy 在android上部署ubuntu 附匯出的映象包 說了如果使用linux deploy和busy box在手機上部署ubuntu系統。如果你使用的是我提供的ubuntu匯出映象搭建的,應該就熟悉了通過映象檔案構建系統。映象匯出 已經使用linux deploy在手機...