1. 程式人生 > >docker images本地遷移

docker images本地遷移

最近在學習docker,經常遇到的一個問題是,在下載docker image的時候,由於眾所周知的網路原因導致失敗,雖然網上也有很多解決方案,比如使用Docker Hub Mirror 之類的國內映象服務,不過由於個人原因(僥倖有一臺國外的VM),我更傾向於不通過docker registry共享下載的image。

問題很明確:不通過docker registry,將A機器上的docker image共享給其他機器,即docker映象本地遷移。

方案也很簡單:使用docker的save 和 load命令, 具體步驟如下 
1.在A機器上列出所有的docker image,並找到你要儲存的image名

sudo docker images
  • 1

2.在A機器上使用docker save命令,儲存image為tar檔案

sudo docker save image_name -o file_path
  • 1

其中,image_name替換為第一步裡找到的要儲存的image名。file_path是匯出的tar檔案路徑,比如/home/tmp/image1.tar

3.將匯出的image tar檔案傳到其他機器,如機器B。可以使用各種方式,比如scp之類的,在這裡不詳述了。

4.在需要使用image的機器上(如B機器)使用docker load命令載入image tar檔案

sudo docker load -i file_path  
  • 1

注:另外,也可以使用docker 的export和import命令實現類似功能,關於export/save, import/load的區別,可以自己上網查,在此不做展開了。基本區別就是export出來的是容器(無歷史和層資訊),而save出來的是image(具有完整的歷史和層資訊,支援層回滾)