概述
因生產環境上不能上外網,而最近需要把測試環境上的prometheus直接遷移到生產環境上,所以這裡用了docker鏡像遷移的方式,下面簡單介紹一下遷移的過程。
docker save與docker export
在沒有Docker Registry時,可以通過docker save和docker load命令完成鏡像遷移的過程,先將鏡像保存為壓縮包,然後在其他位置再加載壓縮包。
注意export命令是從容器(container)中導出tar文件,而save命令則是從鏡像(images)中導出。export導出的文件再import回去時,無法保留鏡像所有歷史(即每一層layer信息,不熟悉的可以去看Dockerfile),不能進行回滾操作;而save是依據鏡像來的,所以導入時可以完整保留下每一層layer信息。
可以依據具體使用場景來選擇命令
- 若是只想備份images,使用save、load即可
- 若是在啟動容器後,容器內容有變化,需要備份,則使用export、import
1、將鏡像保存為壓縮包文件
命令如下:
docker save [options] images [images...]
2、加載鏡像
命令如下:
docker load [options]
docker load -i xxx
後面會分享更多devops和DBA方面內容,感興趣的朋友可以關注下!