docker鏡像導(dǎo)入導(dǎo)出的兩種方法
一、使用 export 和 import
1,查看本機(jī)的容器
這兩個命令是通過容器來導(dǎo)入、導(dǎo)出鏡像。首先我們使用 docker ps -a 命令查看本機(jī)所有的容器。
2,導(dǎo)出鏡像
(1)使用 docker export 命令根據(jù)容器 ID 將鏡像導(dǎo)出成一個文件。
docker export f299f501774c > hangger_server.tar
(2)上面命令執(zhí)行后,可以看到文件已經(jīng)保存到當(dāng)前的 docker 終端目錄下。
3,導(dǎo)入鏡像
(1)使用 docker import 命令則可將這個鏡像文件導(dǎo)入進(jìn)來。
docker import - new_hangger_server < hangger_server.tar
(2)執(zhí)行 docker images 命令可以看到鏡像確實已經(jīng)導(dǎo)入進(jìn)來了。
二、使用 save 和 load
1,查看本機(jī)的容器
這兩個命令是通過鏡像來保存、加載鏡像文件的。首先我們使用 docker images 命令查看本機(jī)所有的鏡像。
2,保存鏡像
(1)下面使用 docker save 命令根據(jù) ID 將鏡像保存成一個文件。
docker save 0fdf2b4c26d3 > hangge_server.tar
(2)我們還可以同時將多個 image 打包成一個文件,比如下面將鏡像庫中的 postgres 和 mongo 打包:
docker save -o images.tar postgres:9.6 mongo:3.4
3,載入鏡像
使用 docker load 命令則可將這個鏡像文件載入進(jìn)來。
docker load < hangge_server.tar
附:兩種方案的差別
特別注意:兩種方法不可混用。
如果使用 import 導(dǎo)入 save 產(chǎn)生的文件,雖然導(dǎo)入不提示錯誤,但是啟動容器時會提示失敗,會出現(xiàn)類似"docker: Error response from daemon: Container command not found or does not exist"的錯誤。
1,文件大小不同
export 導(dǎo)出的鏡像文件體積小于 save 保存的鏡像
2,是否可以對鏡像重命名
docker import 可以為鏡像指定新名稱
docker load 不能對載入的鏡像重命名
3,是否可以同時將多個鏡像打包到一個文件中
docker export 不支持
docker save 支持
4,是否包含鏡像歷史
export 導(dǎo)出(import 導(dǎo)入)是根據(jù)容器拿到的鏡像,再導(dǎo)入時會丟失鏡像所有的歷史記錄和元數(shù)據(jù)信息(即僅保存容器當(dāng)時的快照狀態(tài)),所以無法進(jìn)行回滾操作。
而 save 保存(load 加載)的鏡像,沒有丟失鏡像的歷史,可以回滾到之前的層(layer)。
5,應(yīng)用場景不同
docker export 的應(yīng)用場景:主要用來制作基礎(chǔ)鏡像,比如我們從一個 ubuntu 鏡像啟動一個容器,然后安裝一些軟件和進(jìn)行一些設(shè)置后,使用 docker export 保存為一個基礎(chǔ)鏡像。然后,把這個鏡像分發(fā)給其他人使用,比如作為基礎(chǔ)的開發(fā)環(huán)境。
docker save 的應(yīng)用場景:如果我們的應(yīng)用是使用 docker-compose.yml 編排的多個鏡像組合,但我們要部署的客戶服務(wù)器并不能連外網(wǎng)。這時就可以使用 docker save 將用到的鏡像打個包,然后拷貝到客戶服務(wù)器上使用 docker load 載入。
到此這篇關(guān)于docker鏡像導(dǎo)入導(dǎo)出的兩種方法的文章就介紹到這了,更多相關(guān)docker鏡像導(dǎo)入導(dǎo)出內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
3分鐘用Docker搭建一個Minecraft服務(wù)器
這篇文章主要介紹了3分鐘用Docker搭建一個Minecraft服務(wù)器的相關(guān)資料,非常不錯具有參考借鑒價值,需要的朋友可以參考下2016-11-11
Docker部署Golang服務(wù)的實現(xiàn)步驟
不管是開發(fā)還是生產(chǎn)環(huán)境,通過docker方式部署服務(wù)都是一種不錯的選擇,本文主要介紹了Docker部署Golang服務(wù)的實現(xiàn)步驟,具有一定的參考價值,感興趣的可以了解一下2024-01-01
Docker配置redis哨兵模式的方法(多服務(wù)器上)
這篇文章主要介紹了Docker配置redis哨兵模式的方法(多服務(wù)器上),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-02-02
解決運行Docker鏡像報錯:version `GLIBC_2.32‘ not found
文章介紹了解決Docker鏡像運行時因GLIBC版本不匹配導(dǎo)致的錯誤,建議使用AlpineLinux作為基礎(chǔ)鏡像,并在其中安裝所需的運行時庫,作者還分享了個人經(jīng)驗,提醒讀者嘗試其他方法無效后可以尋求幫助2024-12-12
docker的基本使用及使如何用Docker 運行D435i
這篇文章主要介紹了docker的基本使用及使如何用Docker 運行D435i,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2023-11-11
docker 實現(xiàn)容器與宿主機(jī)無縫調(diào)用shell命令
這篇文章主要介紹了docker 實現(xiàn)容器與宿主機(jī)無縫調(diào)用shell命令的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨想過來看看吧2021-03-03

