有時(shí)候代碼丟失了需要從容器運行的鏡像中恢復出所需代碼,此時(shí)僅需在容器運行的服務(wù)器進(jìn)行簡(jiǎn)單的幾步操作,就能提取出打包鏡像時(shí)使用的代碼
docker container ls -a
docker exec -ti id /bin/bash
docker container cp id:/usr/local/tomcat/webapps/province-admin /home/test/province-admin
經(jīng)過(guò)以上3布就已經(jīng)把容器內代碼提取到了服務(wù)器指定目錄,從服務(wù)器將代碼下載到本地就可以查看所需代碼了
補充:docker數據卷容器備份、恢復超詳細!小白也可以?。?!
在日常生活中,把容器和本地物理機做了目錄映射直接存在本地,那么我們只需要對本地的硬盤(pán)定期備份就好了,但如果沒(méi)有這個(gè)映射的情況下,備份和恢復該如何處理呢?
首先我們創(chuàng )建一個(gè)需要備份的數據卷,
docker run -itd -v /opt/zz --name c1 centos /bin/bash
-itd 是以交互的方式運行,d是后臺運行
-v 是指定容器內的數據卷,如果指定的數據卷不存在,會(huì )自動(dòng)創(chuàng )建
–name 自定義名字
/bin/bash 交互命令以/bin/bash來(lái)
為了驗證數據卷容器的備份功能,在掛載的/opt/zz目錄下創(chuàng )建一個(gè)c11文件,并寫(xiě)入內容"woda"。
[root@160e0646396d zz]# touch c11.txt [root@160e0646396d zz]# echo "woda" > c11.txt [root@160e0646396d zz]# cat c11.txt woda
然后為了給數據卷容器備份,使用 –volumes-from 來(lái)標記需要備份的數據卷,并從主機掛載當前目錄到容器的/v3目錄。
$(pwd)是docker支持的指定當前目錄的方法,了解linux基本命令的會(huì )發(fā)現,linux查看當前目錄就是pwd命令。
容器啟動(dòng)后,在當前目錄下生成的c23.tar文件就是/opt/zz容器卷的備份文件。
這樣,數據卷容器中的數據就備份完成。
整個(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
最后我們就可以看到我們之前在需要備份的容器的數據卷里的內容了,/opt/zz/c11.txt
–volumes-from < Container >: 連接要備份數據的容器
-v $(pwd):/v3:掛載當前路徑到容器centos 容器,數據將會(huì )備份到此路徑
centos: 非常小的鏡像
tar cvf /v3/c23.tar /opt/zz: 將 /opt/zz 路徑下的文件打包到 c23.tar
備份最終也是為了可以恢復,否則備份就沒(méi)有意義了,Docker恢復備份也很簡(jiǎn)單,只需要2步即可。
首先,創(chuàng )建一個(gè)帶有空數據卷的容器/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容器卷中的數據卷,并使用untar解壓備份文件到掛載的容器卷中。
docker run --volumes-from c3 -v $(pwd):/v3 centos tar xvf /v3/c23.tar
這個(gè)時(shí)候,之前備份的數據卷容器的數據已經(jīng)恢復到了容器/opt/x2中了。
為了查看和驗證恢復的數據,我們可以再啟動(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,現在已經(jīng)恢復到c3這個(gè)容器中的數據卷了
以上為個(gè)人經(jīng)驗,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。
Copyright ? 2009-2022 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 特網(wǎng)科技 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站