如何導(dǎo)入導(dǎo)出Docker鏡像?針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。
導(dǎo)入導(dǎo)出命令介紹
涉及的命令有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
為目標(biāo)文件,nginx:latest
是源鏡像名(name:tag)
load
命令docker load [options]
示例
docker load -i nginx.tar
或docker load < nginx.tar
其中-i和<表示從文件輸入。會(huì)成功導(dǎo)入鏡像及相關(guān)元數(shù)據(jù),包括tag信息
export
命令docker export [options] container
示例docker export -o nginx-test.tar nginx-test
其中-o表示輸出到文件,nginx-test.tar
為目標(biāo)文件,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
區(qū)別export命令導(dǎo)出的tar文件略小于save命令導(dǎo)出的
export命令是從容器(container)中導(dǎo)出tar文件,而save命令則是從鏡像(images)中導(dǎo)出
基于第二點(diǎn),export導(dǎo)出的文件再import回去時(shí),無(wú)法保留鏡像所有歷史(即每一層layer信息,不熟悉的可以去看Dockerfile),不能進(jìn)行回滾操作;而save是依據(jù)鏡像來(lái)的,所以導(dǎo)入時(shí)可以完整保留下每一層layer信息。如下圖所示,nginx:latest
是save導(dǎo)出load導(dǎo)入的,nginx:imp
是export導(dǎo)出import導(dǎo)入的。
關(guān)于如何導(dǎo)入導(dǎo)出Docker鏡像問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。