国产欧美日韩第一页|日本一二三不卡视频|在线精品小视频,亚洲第一免费播放区,metcn人体亚洲一区,亚洲精品午夜视频

docker鏡像的備份遷移和恢復(fù)

2024-08-15 11:36:36 937

docker鏡像的備份遷移和恢復(fù)


藍(lán)隊(duì)云小課堂:

鏡像備份和恢復(fù)

docker save -o centos_vim_image.tar centos_vim_image

-刪除容器,刪除鏡像

-把備份的鏡像恢復(fù)

docker load -i centos_vim_image.tar


有時(shí)在docker中產(chǎn)生的數(shù)據(jù),我們需要進(jìn)行相應(yīng)的備份和遷移到另外一臺(tái)服務(wù)器上,并在另一臺(tái)服務(wù)器上進(jìn)行數(shù)據(jù)的恢復(fù),那么改如何操作呢?如下將介紹三種方式進(jìn)行數(shù)據(jù)的備份、恢復(fù)與遷移。

方式一:docker容器的備份、恢復(fù)與遷移

1、docker容器的備份 (導(dǎo)出)

docker export -o 容器導(dǎo)出文件(格式為tar壓縮文件) 容器ID或容器名稱

docker export 容器ID或容器名稱 > 容器導(dǎo)出文件(格式為tar壓縮文件) 

示例:

docker export -o $(pwd)/newtomcat.tar mytomcat

docker export mytomcat > $(pwd)/newtomcat.tar 

注釋:

$(pwd)是docker支持的獲取當(dāng)前目錄路徑的方法,與linux的pwd類似

$(pwd)/newtomcat.tar 表示在當(dāng)前目錄下生成一個(gè)newtomcat.tar壓縮文件

備注:容器可以不啟動(dòng)進(jìn)行備份操作

image.png

2、docker容器的遷移與恢復(fù) (導(dǎo)入)

docker import 容器導(dǎo)出文件(格式為tar壓縮文件) 新鏡像名稱[:版本號(hào)]

docker import /URL 新鏡像名稱[:版本號(hào)]

示例:

docker import $(pwd)/newtomcat.tar newtomcat:v1.0

docker import http://www.tjdsmy.cn/exampleimage.tgz example/imagerepo

image.png


方式二:docker鏡像的備份、恢復(fù)與遷移

1、docker鏡像的備份 (導(dǎo)出)

docker save -o 鏡像導(dǎo)出文件(格式為tar壓縮文件) 鏡像ID或鏡像名稱[:版本號(hào)]

docker save 鏡像ID或鏡像名稱[:版本號(hào)] > 鏡像導(dǎo)出文件(格式為tar壓縮文件)

示例:

docker save -o $(pwd)/mytomcat.tar newtomcat:v1.0

docker save newtomcat:v1.0 > $(pwd)/mytomcat.tar 

image.png

2、docker鏡像的遷移與恢復(fù) (導(dǎo)入)

docker load -i 鏡像導(dǎo)出文件(格式為tar壓縮文件)

docker load < 鏡像導(dǎo)出文件(格式為tar壓縮文件)

示例:

docker load -i $(pwd)/mytomcat.tar

docker load < $(pwd)/mytomcat.tar

image.png

注意:

用戶既可以使用docker load來導(dǎo)入鏡像存儲(chǔ)文件到本地鏡像庫,也可以使用docker import來導(dǎo)入一個(gè)容器快照到本地鏡像庫。這兩者的區(qū)別在于容器快照文件將丟棄所有的歷史記錄和元數(shù)據(jù)信息(即僅保存容器當(dāng)時(shí)的快照狀態(tài)),而鏡像存儲(chǔ)文件將保存完整記錄,體積也要大。此外,容器快照文件方式導(dǎo)入可以重新指定鏡像標(biāo)簽等元數(shù)據(jù)信息。


方式三:docker數(shù)據(jù)卷的備份、恢復(fù)與遷移

1、docker數(shù)據(jù)卷的備份 (導(dǎo)出)

//單個(gè)數(shù)據(jù)卷的備份

docker run --volumes-from 數(shù)據(jù)卷容器ID/數(shù)據(jù)卷容器名稱 -v 宿主機(jī)備份目錄:容器備份目錄 鏡像ID/鏡像名稱[:版本號(hào)] tar cvf 容器目錄/數(shù)據(jù)卷壓縮文件(格式為tar壓縮文件) 容器數(shù)據(jù)卷文件/目錄


//多個(gè)數(shù)據(jù)卷的備份

docker run --volumes-from 數(shù)據(jù)卷容器ID/數(shù)據(jù)卷容器名稱 -v 宿主機(jī)備份目錄:容器備份目錄 鏡像ID/鏡像名稱[:版本號(hào)] tar cvf 容器目錄/數(shù)據(jù)卷壓縮文件(格式為tar壓縮文件) 容器數(shù)據(jù)卷文件1/目錄1 容器數(shù)據(jù)卷文件2/目錄2


示例:

//單個(gè)數(shù)據(jù)卷的備份

docker run --volumes-from mycentos -v $(pwd):/backup centos tar cvf /backup/newcentos.tar /containerVolume


//多個(gè)數(shù)據(jù)卷的備份

docker run --volumes-from mycentos -v $(pwd):/backup centos tar cvf /backup/newcentos.tar /containerVolume1 /containerVolume2


//如果想要在執(zhí)行完備份指令后,刪除臨時(shí)容器,請(qǐng)?jiān)趓un 后面加上--rm屬性,表示在執(zhí)行完后立即刪除該容器

docker run --rm --volumes-from mycentos -v $(pwd):/backup centos tar cvf /backup/newcentos.tar /containerVolume

注意:

a.數(shù)據(jù)卷容器可以不啟動(dòng)(即容器退出停止)進(jìn)行備份操作

b.這里的數(shù)據(jù)卷壓縮文件的路徑要選擇導(dǎo)出到容器備份目錄下,即 如果容器備份目錄為/backup,則數(shù)據(jù)卷壓縮文件的路徑為/backup/newcentos.tar,因?yàn)樗拗鳈C(jī)備份目錄與容器備份目錄做了數(shù)據(jù)卷掛載,只有將數(shù)據(jù)卷壓縮文件的導(dǎo)出路徑選擇在容器備份目錄下,才能同步到宿主機(jī)備份目錄下。

image.png

2、docker數(shù)據(jù)卷的遷移與恢復(fù) (導(dǎo)入)

//單個(gè)數(shù)據(jù)卷與多個(gè)數(shù)據(jù)卷的數(shù)據(jù)卷恢復(fù)指令相同

docker run --volumes-from 需要恢復(fù)數(shù)據(jù)的數(shù)據(jù)卷容器ID/名稱 -v 宿主機(jī)備份目錄:容器備份目錄 鏡像ID/鏡像名稱[:版本號(hào)] tar xvf 容器備份目錄/數(shù)據(jù)卷壓縮文件(格式為tar壓縮文件)

示例:

docker run --volumes-from mycentos -v $(pwd):/backup centos tar xvf /backup/newcentos.tar


//如果想要在執(zhí)行完數(shù)據(jù)恢復(fù)指令后,刪除臨時(shí)容器,請(qǐng)?jiān)趓un后面加上--rm屬性,表示在執(zhí)行完后立即刪除該容器

docker run --rm --volumes-from mycentos -v $(pwd):/backup centos tar xvf /backup/newcentos.tar

注意:

a.需要恢復(fù)數(shù)據(jù)的數(shù)據(jù)卷容器可以不啟動(dòng)(即容器退出停止)進(jìn)行數(shù)據(jù)恢復(fù)操作

b.如果要把數(shù)據(jù)卷恢復(fù)到新的容器中,那么新的容器中的數(shù)據(jù)卷要與之前備份的容器數(shù)據(jù)卷的路徑和名稱要一致,(即:之前要備份的容器數(shù)據(jù)卷為/data 或者 /var/containerVolume,那么新容器的數(shù)據(jù)卷的路徑和名稱也要為/data 或者 /var/containerVolume),例子:之前需要備份的容器與宿主機(jī)的掛載情況為-v ~/hostVolume:/containerVolume,那么需要備份的新容器與宿主機(jī)的掛載情況為:-v ~/host:/containerVolume,即新容器數(shù)據(jù)卷的路徑和名稱 要與 備份的容器數(shù)據(jù)卷路徑和名稱必須一致,為/containerVolume,宿主機(jī)的數(shù)據(jù)卷路徑和名稱可以不一致

c.這里的數(shù)據(jù)卷壓縮文件要選擇容器備份目錄下的,(即 如果容器備份目錄為/backup,則數(shù)據(jù)卷導(dǎo)出文件的路徑為/backup/newcentos.tar)


1、刪除數(shù)據(jù)卷容器mycentos中的數(shù)據(jù)卷里的data.txt文件,模擬數(shù)據(jù)的丟失

image.png

2、對(duì)丟失數(shù)據(jù)的數(shù)據(jù)卷容器mycentos進(jìn)行數(shù)據(jù)的恢復(fù)

image.png


更多小知識(shí),可聯(lián)系藍(lán)隊(duì)云一起探討。


提交成功!非常感謝您的反饋,我們會(huì)繼續(xù)努力做到更好!

這條文檔是否有幫助解決問題?

非常抱歉未能幫助到您。為了給您提供更好的服務(wù),我們很需要您進(jìn)一步的反饋信息:

在文檔使用中是否遇到以下問題: