主頁(yè) > 知識(shí)庫(kù) > Docker容器從鏡像恢復(fù)代碼的操作步驟

Docker容器從鏡像恢復(fù)代碼的操作步驟

熱門標(biāo)簽:地圖標(biāo)注小程序 南充電銷外呼系統(tǒng) 信陽(yáng)電銷外呼系統(tǒng)怎么樣 株洲電銷 南昌外呼系統(tǒng)定制 海外工廠地圖標(biāo)注 貴陽(yáng)網(wǎng)絡(luò)外呼系統(tǒng)軟件 陜西辦理400電話 宿州外呼系統(tǒng)公司

有時(shí)候代碼丟失了需要從容器運(yùn)行的鏡像中恢復(fù)出所需代碼,此時(shí)僅需在容器運(yùn)行的服務(wù)器進(jìn)行簡(jiǎn)單的幾步操作,就能提取出打包鏡像時(shí)使用的代碼

查看所有容器:

docker container ls -a

根據(jù)容器id進(jìn)入到指定容器:

docker exec -ti id /bin/bash

拷貝容器內(nèi)目錄到服務(wù)指定文件夾:

docker container cp id:/usr/local/tomcat/webapps/province-admin /home/test/province-admin

經(jīng)過(guò)以上3布就已經(jīng)把容器內(nèi)代碼提取到了服務(wù)器指定目錄,從服務(wù)器將代碼下載到本地就可以查看所需代碼了

補(bǔ)充:docker數(shù)據(jù)卷容器備份、恢復(fù)超詳細(xì)!小白也可以?。?!

在日常生活中,把容器和本地物理機(jī)做了目錄映射直接存在本地,那么我們只需要對(duì)本地的硬盤定期備份就好了,但如果沒(méi)有這個(gè)映射的情況下,備份和恢復(fù)該如何處理呢?

首先我們創(chuàng)建一個(gè)需要備份的數(shù)據(jù)卷,

docker run -itd -v /opt/zz --name c1 centos /bin/bash

-itd 是以交互的方式運(yùn)行,d是后臺(tái)運(yùn)行

-v 是指定容器內(nèi)的數(shù)據(jù)卷,如果指定的數(shù)據(jù)卷不存在,會(huì)自動(dòng)創(chuàng)建

–name 自定義名字

/bin/bash 交互命令以/bin/bash來(lái)

為了驗(yàn)證數(shù)據(jù)卷容器的備份功能,在掛載的/opt/zz目錄下創(chuàng)建一個(gè)c11文件,并寫(xiě)入內(nèi)容"woda"。

[root@160e0646396d zz]# touch c11.txt
[root@160e0646396d zz]# echo "woda" > c11.txt 
[root@160e0646396d zz]# cat c11.txt
woda

然后為了給數(shù)據(jù)卷容器備份,使用 –volumes-from 來(lái)標(biāo)記需要備份的數(shù)據(jù)卷,并從主機(jī)掛載當(dāng)前目錄到容器的/v3目錄。

$(pwd)是docker支持的指定當(dāng)前目錄的方法,了解linux基本命令的會(huì)發(fā)現(xiàn),linux查看當(dāng)前目錄就是pwd命令。

容器啟動(dòng)后,在當(dāng)前目錄下生成的c23.tar文件就是/opt/zz容器卷的備份文件。

這樣,數(shù)據(jù)卷容器中的數(shù)據(jù)就備份完成。

整個(gè)實(shí)踐過(guò)程如下:

[root@client ~]# docker run --volumes-from c1 -v $(pwd):/v3 centos tar cvf /v3/c23.tar /opt/zz
tar: Removing leading `/' from member names
/opt/zz/
/opt/zz/c11.txt

最后我們就可以看到我們之前在需要備份的容器的數(shù)據(jù)卷里的內(nèi)容了,/opt/zz/c11.txt

–volumes-from < Container >: 連接要備份數(shù)據(jù)的容器

-v $(pwd):/v3:掛載當(dāng)前路徑到容器centos 容器,數(shù)據(jù)將會(huì)備份到此路徑

centos: 非常小的鏡像

tar cvf /v3/c23.tar /opt/zz: 將 /opt/zz 路徑下的文件打包到 c23.tar

二 恢復(fù)

備份最終也是為了可以恢復(fù),否則備份就沒(méi)有意義了,Docker恢復(fù)備份也很簡(jiǎn)單,只需要2步即可。

首先,創(chuàng)建一個(gè)帶有空數(shù)據(jù)卷的容器/opt/x2。

docker run -itd -v /opt/x2 --name c3 centos /bin/bash
docker run -itd -v /opt/x2 --name c3 centos /bin/bash

然后,創(chuàng)建另一個(gè)容器,掛載data1容器卷中的數(shù)據(jù)卷,并使用untar解壓備份文件到掛載的容器卷中。

docker run --volumes-from c3 -v $(pwd):/v3 centos tar xvf /v3/c23.tar

這個(gè)時(shí)候,之前備份的數(shù)據(jù)卷容器的數(shù)據(jù)已經(jīng)恢復(fù)到了容器/opt/x2中了。

為了查看和驗(yàn)證恢復(fù)的數(shù)據(jù),我們可以再啟動(dòng)一個(gè)容器掛載/opt/x2容器卷來(lái)查看。

整個(gè)實(shí)踐過(guò)程如下:

[root@client ~]# docker run --volumes-from c3 -v $(pwd):/v3 centos tar xvf /v3/c23.tar
opt/zz/
opt/zz/c11.txt

最后我們就可以看到我們之前備份的c11.txt,現(xiàn)在已經(jīng)恢復(fù)到c3這個(gè)容器中的數(shù)據(jù)卷了

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

標(biāo)簽:石嘴山 三明 鄭州 晉城 汕頭 玉林 拉薩 開(kāi)封

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Docker容器從鏡像恢復(fù)代碼的操作步驟》,本文關(guān)鍵詞  Docker,容器,從,鏡像,恢復(fù),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Docker容器從鏡像恢復(fù)代碼的操作步驟》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Docker容器從鏡像恢復(fù)代碼的操作步驟的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章