docker save load export import的區別

export

export命令用於持久化容器(不是鏡像)。因此,咱們就須要經過如下方法獲得容器ID: 
sudo docker ps -a 
接着執行導出: 
sudo docker export <CONTAINER ID> > /home/export.tardocker

save

Save命令用於持久化鏡像(不是容器)。因此,咱們就須要經過如下方法獲得鏡像名稱: 
sudo docker images 
接着執行保存: 
sudo docker save busybox-1 > /home/save.tarspa

使用export比使用save保存的文件要小一些vagrant

load 、save分別是導入、導出鏡像image, import、export分別是導入、導出容器container

二者的使用方法是同樣的,導入壓縮包生成鏡像 
docker import - busybox-1-export:latest 
docker import能夠從新指定鏡像的名字 
docker load < /home/save.tarcode

區別

那,它們之間到底存在什麼不一樣呢?class

  1. 首先,docker import能夠從新指定鏡像的名字,docker load不能夠
  2. 其次,咱們發現導出後的版本會比原來的版本稍微小一些。那是由於導出後,會丟失歷史和元數據。執行下面的命令就知道了: 
    顯示鏡像的全部層(layer) 
    sudo docker images --tree 
    執行命令,顯示下面的內容。正你看到的,導出後再導入(exported-imported)的鏡像會丟失全部的歷史,而保存後再加載(saveed-loaded)的鏡像沒有丟失歷史和層(layer)。這意味着使用導出後再導入的方式,你將沒法回滾到以前的層(layer),同時,使用保存後再加載的方式持久化整個鏡像,就能夠作到層回滾(能夠執行docker tag 來回滾以前的層)。test

    vagrant@Ubuntu-13:~$ sudo docker images --tree ├─f502877df6a1 Virtual Size: 2.489 MB Tags: busybox-1-export:latest └─511136ea3c5a Virtual Size: 0 B └─bf747efa0e2f Virtual Size: 0 B └─48e5f45168b9 Virtual Size: 2.489 MB └─769b9341d937 Virtual Size: 2.489 MB └─227516d93162 Virtual Size: 2.489 MB Tags: busybox-1:latest
相關文章
相關標籤/搜索