docker save load export import的區別


export

export命令用於持久化容器(不是鏡像)。所以,我們就需要通過以下方法得到容器ID: 
sudo docker ps -a 
接着執行導出: 
sudo docker export <CONTAINER ID> > /home/export.tar

save

Save命令用於持久化鏡像(不是容器)。所以,我們就需要通過以下方法得到鏡像名稱: 
sudo docker images 
接着執行保存: 
sudo docker save busybox-1 > /home/save.tar

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

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

兩者的使用方法是一樣的,導入壓縮包生成鏡像 
docker import - busybox-1-export:latest 
docker import可以重新指定鏡像的名字 
docker load < /home/save.tar

區別

那,它們之間到底存在什么不同呢?

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

    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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM