您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關如何導入和導出Docker鏡像,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
環境如下:
CentOS 7.0
Docker 1.18
涉及的命令有export、import、save、load
save
命令
docker save [options] images [images...]
示例
docker save -o nginx.tar nginx:latest 或 docker save > 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文件略小于save命令導出的
export命令是從容器(container)中導出tar文件,而save命令則是從鏡像(images)中導出
基于第二點,export導出的文件再import回去時,無法保留鏡像所有歷史(即每一層layer信息,不熟悉的可以去看Dockerfile),不能進行回滾操作;而save是依據鏡像來的,所以導入時可以完整保留下每一層layer信息。如下圖所示,nginx:latest是save導出load導入的,nginx:imp是export導出import導入的。
可以依據具體使用場景來選擇命令
若是只想備份images,使用save、load即可若是在啟動容器后,容器內容有變化,需要備份,則使用export、import
看完上述內容,你們對如何導入和導出Docker鏡像有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。