在 docker 之間匯出匯入映象的方法

2022-09-25 09:45:12 字數 1440 閱讀 3214

很喜歡玩docker,但最新遇到乙個問題,公司給的新機器的dns有問題,導致pull不下來映象。

沒辦法了,沒有映象什麼神馬都幹不了,又不能花很多時間去搭建私有的映象庫,只有另尋辦法了。

廢話少說,經過**,發現 docker 提供把映象匯出程式設計客棧export(儲存s**e)為檔案的機制,這樣就可以把映象copy到任意地方了。

1. 匯出 export - 匯入 import

格式:docker export container(容器)

使用 docker ps -a 檢視本機已有的容器,如:

我們使用容器 furious_bell,現在要將這個容器儲存為乙個檔案 myunbuntu-export-1204.tar

docker export furious_bell > /home/myubuntu-export-1204.tar

匯出完成後,就程式設計客棧可以使用 import 匯入了

docker import - /home/myubuntu-export-1204.tar

2.儲存s**e - 載入 load

格式:docker s**e image(映象)

使用 docker images 檢視本機已有的映象(也可以使用 docker commit 命令把乙個正在執行的容器儲存為映象),如:

這裡有個基礎映象:ubuntu:12.04,現在要將這個映象儲存為乙個檔案myubuntu-s**e-1204.tar

docker s**e 9610cfc68e8d > /home/myubuntu-s**e-1204.tar

有點慢,稍微等待一下,沒有任何warn資訊就表示儲存ok。9610cfc68e8d 是映象id

現在就可以在任何裝 docker 的地方載入 剛儲存的映象了

docker load < /home/myubuntu-s**e-1204.tar

3.匯出 export 與 儲存 s**e 的區別

(1).export匯出的映象檔案大小  小於 s**e儲存的映象

(2).export 匯出(import匯入)是根據容器拿到的映象,再匯入時會丟失映象所有的歷史,所以無法進行回滾操作(docker tag );而s**e儲存(load載入)的映象,沒有丟失映象的歷史,可以回滾到之前的層(layer)。(檢視方式:docker images --tree)

注:匯入載入進來覺得不合適可以使用 docker rm 容器id 、 docker rmi 映象id 來刪掉。

移除所有的容器和映象(大掃除):

複製** **如下:

docker kill $(docker ps -q) ; docker rm $(docker ps -a -q) ; docker rmi $(docker images -q -a)  

參考:本文標題: 在 docker 之間匯出匯入映象的方法

本文位址: /jiqiao/fuwuqi/197100.html

Docker映象的匯入匯出

本文介紹docker映象的匯入匯出,用於遷移 備份 公升級等場景,準備環境如下 centos 7.0 docker 1.18 匯入匯出命令介紹 涉及的命令有export import s e load s e 命令docker s e options images images.示例docker s...

Docker映象的匯入匯出的實現方法

匯入匯出命令介紹 涉及的命令有export import s e load s e 命令doc程式設計客棧ker s e options images images.示例docker s e o nginx.tar nginx latest 或 docwww.cppcns.comker s e ng...

liunux deploy映象的匯出與匯入

上篇 linux deploy 在android上部署ubuntu 附匯出的映象包 說了如果使用linux deploy和busy box在手機上部署ubuntu系統。如果你使用的是我提供的ubuntu匯出映象搭建的,應該就熟悉了通過映象檔案構建系統。映象匯出 已經使用linux deploy在手機...