在docker客戶端命令行中我們可以使用export將文件系統(tǒng)作為一個tar歸檔文件導(dǎo)出到STDOUT(標(biāo)準(zhǔn)輸出),使用import載入創(chuàng)建新的鏡像。
示例:
docker export :將文件系統(tǒng)作為一個tar歸檔文件導(dǎo)出到STDOUT。
語法:
docker export [OPTIONS] CONTAINER
OPTIONS說明:
-o :將輸入內(nèi)容寫到文件。
例如,將id為a404c6c174a2的容器按日期保存為tar文件,命令如下:
$ docker export -o mysql-`date +%Y%m%d`.tar a404c6c174a2
示例:
docker import : 從歸檔文件中創(chuàng)建鏡像。
語法:
docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]
OPTIONS說明:
-c :應(yīng)用docker 指令創(chuàng)建鏡像;
-m :提交時的說明文字;
例如,從鏡像歸檔文件mysql-20200730.tar創(chuàng)建鏡像,命名為mysql:v2
$ docker import mysql-20200730.tar mysql:v2
總結(jié),export和import與save和load的區(qū)別:
1.docker save保存的是鏡像(image),docker export保存的是容器(container);
2.docker load用來載入鏡像包,必須是一個分層文件系統(tǒng),必須是是save的包;docker
import用來載入容器包,但兩者都會恢復(fù)為鏡像;
3.docker load不能對載入的鏡像重命名,而docker import可以為鏡像指定新名稱。
4.docker export的包會比save的包要小,原因是save的是一個分層的文件系統(tǒng),export導(dǎo)出的只是一個linux系統(tǒng)的文件目錄
相關(guān)閱讀:
云計算核心技術(shù)Docker教程: save/load命令詳解