Docker SAVE保存導出/加載導入鏡像

在使用docker的時候我們都會用到鏡像,而有些鏡像是非常難下載的,或者在一臺主機上拉取鏡像後,能不能通過導入導出的功能把docker images遷移到其他主機上呢?(不考慮用私服的情況下)

答案是肯定的。

一、docker鏡像的導出(docker images鏡像保存)

docker save -o <要保存的文件名.tar> <要保存的源鏡像id>

例如:
1-1.查詢所有鏡像,找到你想要保存的源鏡像,比如我們要保存nginx/nginx-ingress 的鏡像,那麼執行命令docker images後可以看到它的鏡像id是b68fb03da1ee
[root@master ~]# docker images
REPOSITORY                                                                     TAG                 IMAGE ID            CREATED             SIZE
nginx/nginx-ingress                                                            1.6.3               b68fb03da1ee        5 days ago          165MB

1-2.保存鏡像(導出鏡像)
[root@master ~]# docker save -o nginx-ingress.tar b68fb03da1ee

註釋:
nginx-ingress.tar是你導出的鏡像的文件名,名字你可以隨意命名(最好以.tar結尾)
b68fb03da1ee是用docker images查出來的你想要導出的鏡像的id

1-3.然後在你的當前目錄下就會發現多出來個nginx-ingress.tar文件。

 

二、docker鏡像的導入(docker images鏡像加載)

想辦法把剛纔保存的鏡像弄到目標服務器上去(略)

1.導入鏡像到新服務器上

docker load -i <導出好的鏡像文件完整文件名>

例如:
1-1.導入docker鏡像
[root@client ~]# docker load -i nginx-ingress.tar

1-2.查看所有鏡像
[root@client ~]# docker images
此時你會發現本機docker鏡像庫多出來個沒有鏡像名,又沒有鏡像id的一個神奇鏡像,沒錯,這個就是剛纔你導入的那個鏡像。記住它的id(比如鏡像標籤是imageidqq37213690),馬上要用到它。

1-3.給鏡像打標籤
[root@client ~]# docker tag imageidqq37213690 nginx/nginx-ingress:1.6.3
(囉嗦:你未必必須將鏡像標籤名命名和導出前一樣,完全可以改成你想要的,如:harbor.hiibm.com/nginx-ingress-image:1.6.3)
如果沒有報錯,ok,那至此docker鏡像就導出成功並導入成功了。

 

---------------------------------END------------------------2020年3月12日14:42:02---------------------------------

老鐵隨手點個贊吧,雙擊666666666666666666666

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