Docker(十三)-Docker save and load映象儲存

吕金林發表於2024-04-24

持久化docker的映象或容器的方法

Docker的映象和容器可以有兩種方式來匯出

  • docker save #ID or #Name
  • docker export #ID or #Name

docker save和docker export的區別

  • 對於Docker Save方法,會儲存該映象的所有歷史記錄
  • 對於Docker Export 方法,不會保留歷史記錄,即沒有commit歷史
  • docker save儲存的是映象(image),docker export儲存的是容器(container);
  • docker load用來載入映象包,docker import用來載入容器包,但兩者都會恢復為映象;
  • docker load不能對載入的映象重新命名,而docker import可以為映象指定新名稱。

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

#匯出為tar

docker export #ID or #Name > /home/export.tar

其中-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

相關文章