Docker備份鏡像和重新載入鏡像

一、簡介

實際項目中,有時候可能會遇到需要批量備份已經存在的鏡像,又或者說項目地服務器暫時無法拉取鏡像等等原因,這時候我們就可以將公司鏡像倉庫中的鏡像在本地打成tar壓縮包,然後通過xftp傳輸到項目地服務器中,然後再項目地中重新加載這些鏡像即可。本文將總結如何批量打包Docker鏡像並且重新載入鏡像,主要包含兩個步驟:

  • 壓縮鏡像爲tar包;
  • 重新載入tar包生成鏡像;

這裏以nginx鏡像爲例,詳細的操作步驟請見下面。

二、 壓縮鏡像爲tar包

【a】 從鏡像倉庫中拉取nginx鏡像到用來打tar包的服務器

docker pull 192.168.2.78:5000/library/nginx:latest

【b】查詢鏡像的imageID

docker images | grep 192.168.2.78:5000/library/nginx

 可見鏡像ID爲:5fa3fabcd585,這個後面要用到。

【c】 保存鏡像到tar包 

docker save 5fa3fabcd585 -o /opt/ly-sm-nginx-latest.tar

注意:5fa3fabcd585表示是上面一步查詢出來的imageID。

打包成功我們查看opt目錄已經有ly-sm-nginx-latest.tar壓縮包:

 ll /opt/ | grep ly-sm-nginx-latest.tar

三、 重新載入tar包生成鏡像

【a】將tar包傳輸到項目地的服務器中的某個目錄下

這裏放到/opt目錄下爲例:

【b】使用docker load重新加載鏡像

docker load -i /opt/ly-sm-nginx-latest.tar

【c】重新打鏡像標籤

docker tag sha256:5fa3fabcd58525bcec53e0f38e855134d2e25f88cd28ae1d7f874a3d21cfe5a0 192.168.35.128:5000/develop/ly-sm-nginx:latest

【d】查看是否成功載入鏡像

docker images | grep nginx

 

可以發現,成功將鏡像重新加載到新的服務器中,這時候就可以使用docker push推送到項目地鏡像倉庫中升級即可,同時我們也看到重新載入的鏡像ID跟壓縮成tar包之前是一樣的。

四、總結

以上就是線下備份鏡像或者打包鏡像到項目地重新加載鏡像的方法,在某個特殊場景下還是用處挺大的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章