持久化docker的鏡像或容器的方法
docker的鏡像和容器可以有兩種方式來導(dǎo)出
docker save #ID or #Name
docker export #ID or #Name
docker save和docker export的區(qū)別
對(duì)于Docker Save方法,會(huì)保存該鏡像的所有歷史記錄
對(duì)于Docker Export 方法,不會(huì)保留歷史記錄,即沒有commit歷史
docker save保存的是鏡像(image),docker export保存的是容器(container);
docker load用來載入鏡像包,docker import用來載入容器包,但兩者都會(huì)恢復(fù)為鏡像;
docker load不能對(duì)載入的鏡像重命名,而docker import可以為鏡像指定新名稱。
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) latest為版本號(hào)
load命令(加載鏡像)
docker load [options]
示例
docker load -i nginx.tar
或
docker load < nginx.tar
其中-i和<表示從文件輸入。會(huì)成功導(dǎo)入鏡像及相關(guān)元數(shù)據(jù),包括tag信息
export命令(導(dǎo)出容器)
docker export [options] container
示例
docker export -o nginx-test.tar nginx-test
#導(dǎo)出為tar
docker export #ID or #Name > /home/export.tar
其中-o表示輸出到文件,nginx-test.tar為目標(biāo)文件,nginx-test是源容器名(name)
import命令(導(dǎo)入容器)
docker import [options] file|URL|- [REPOSITORY[:TAG]]
示例
docker import nginx-test.tar nginx:imp
或
cat nginx-test.tar | docker import - nginx:imp