docker鏡像導(dǎo)入導(dǎo)出的兩種方法
一、使用 export 和 import
1,查看本機(jī)的容器
這兩個(gè)命令是通過(guò)容器來(lái)導(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)來(lái)。
docker import - new_hangger_server < hangger_server.tar
(2)執(zhí)行 docker images 命令可以看到鏡像確實(shí)已經(jīng)導(dǎo)入進(jìn)來(lái)了。
二、使用 save 和 load
1,查看本機(jī)的容器
這兩個(gè)命令是通過(guò)鏡像來(lái)保存、加載鏡像文件的。首先我們使用 docker images 命令查看本機(jī)所有的鏡像。
2,保存鏡像
(1)下面使用 docker save 命令根據(jù) ID 將鏡像保存成一個(gè)文件。
docker save 0fdf2b4c26d3 > hangge_server.tar
(2)我們還可以同時(shí)將多個(gè) image 打包成一個(gè)文件,比如下面將鏡像庫(kù)中的 postgres 和 mongo 打包:
docker save -o images.tar postgres:9.6 mongo:3.4
3,載入鏡像
使用 docker load 命令則可將這個(gè)鏡像文件載入進(jìn)來(lái)。
docker load < hangge_server.tar
附:兩種方案的差別
特別注意:兩種方法不可混用。
如果使用 import 導(dǎo)入 save 產(chǎn)生的文件,雖然導(dǎo)入不提示錯(cuò)誤,但是啟動(dòng)容器時(shí)會(huì)提示失敗,會(huì)出現(xiàn)類似"docker: Error response from daemon: Container command not found or does not exist"的錯(cuò)誤。
1,文件大小不同
export 導(dǎo)出的鏡像文件體積小于 save 保存的鏡像
2,是否可以對(duì)鏡像重命名
docker import 可以為鏡像指定新名稱
docker load 不能對(duì)載入的鏡像重命名
3,是否可以同時(shí)將多個(gè)鏡像打包到一個(gè)文件中
docker export 不支持
docker save 支持
4,是否包含鏡像歷史
export 導(dǎo)出(import 導(dǎo)入)是根據(jù)容器拿到的鏡像,再導(dǎo)入時(shí)會(huì)丟失鏡像所有的歷史記錄和元數(shù)據(jù)信息(即僅保存容器當(dāng)時(shí)的快照狀態(tài)),所以無(wú)法進(jìn)行回滾操作。
而 save 保存(load 加載)的鏡像,沒(méi)有丟失鏡像的歷史,可以回滾到之前的層(layer)。
5,應(yīng)用場(chǎng)景不同
docker export 的應(yīng)用場(chǎng)景:主要用來(lái)制作基礎(chǔ)鏡像,比如我們從一個(gè) ubuntu 鏡像啟動(dòng)一個(gè)容器,然后安裝一些軟件和進(jìn)行一些設(shè)置后,使用 docker export 保存為一個(gè)基礎(chǔ)鏡像。然后,把這個(gè)鏡像分發(fā)給其他人使用,比如作為基礎(chǔ)的開(kāi)發(fā)環(huán)境。
docker save 的應(yīng)用場(chǎ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)容請(qǐng)搜索腳本之家以前的文章或繼續(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)出過(guò)程介紹
- 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)文章
docker安裝Jenkins配置Gitee SSH密鑰踩坑解決
這篇文章主要為大家介紹了docker安裝Jenkins配置Gitee SSH密鑰踩坑解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08利用?trap?在?docker?容器優(yōu)雅關(guān)閉前執(zhí)行環(huán)境清理的方案
這篇文章主要介紹了利用?trap?在?docker?容器優(yōu)雅關(guān)閉前執(zhí)行環(huán)境清理的問(wèn)題,需要在容器的啟動(dòng)腳本中,加入 trap 指令,來(lái)完成容器在退出前需要做的所有事情,本文通過(guò)腳本示例給大家介紹的非常詳細(xì),需要的朋友參考下吧2021-12-12docker-swarm之使用Docker secret管理敏感數(shù)據(jù)
就Docker Swarm集群服務(wù)而言,secret 是塊狀數(shù)據(jù),例如密碼、SSH私鑰、SSL證書(shū)或其他不應(yīng)通過(guò)網(wǎng)絡(luò)傳輸或未加密存儲(chǔ)在Dockerfile或應(yīng)用程序源代碼中的數(shù)據(jù),我們可以使用Docker secret 集中管理這些數(shù)據(jù),所以接下來(lái)就帶大家了解一下如何使用Docker secret 管理敏感數(shù)據(jù)2023-08-08Docker搭建一個(gè)nginx服務(wù)的實(shí)現(xiàn)
Nginx是一個(gè)高性能的HTTP和反向代理web服務(wù)器,同時(shí)也提供了IMAP/POP3/SMTP服務(wù),本文主要介紹了Docker搭建一個(gè)nginx服務(wù)的實(shí)現(xiàn),感興趣的可以了解一下2024-08-08Centos8.3、docker部署springboot項(xiàng)目實(shí)戰(zhàn)案例分析
這篇文章主要介紹了Centos8.3、docker部署springboot項(xiàng)目實(shí)戰(zhàn)記錄,包括docker安裝,開(kāi)啟docker遠(yuǎn)程訪問(wèn)端口的方法及配置idea docker環(huán)境的方法,需要的朋友可以參考下2021-06-06Docker容器中文亂碼(修改docker容器編碼格式)的解決方案
這篇文章主要介紹了Docker容器中文亂碼(修改docker容器編碼格式)的解決方案的相關(guān)資料,需要的朋友可以參考下2016-12-12