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

