溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Docker容器從鏡像恢復的方法

發(fā)布時間:2021-03-20 10:29:20 來源:億速云 閱讀:1027 作者:小新 欄目:開發(fā)技術

這篇文章主要介紹了Docker容器從鏡像恢復的方法,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

查看所有容器:

docker container ls -a

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

docker exec -ti id /bin/bash

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

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

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

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

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

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

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

Docker容器從鏡像恢復的方法

-itd 是以交互的方式運行,d是后臺運行

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

–name 自定義名字

/bin/bash 交互命令以/bin/bash來

為了驗證數(shù)據(jù)卷容器的備份功能,在掛載的/opt/zz目錄下創(chuàng)建一個c11文件,并寫入內(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 來標記需要備份的數(shù)據(jù)卷,并從主機掛載當前目錄到容器的/v3目錄。

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

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

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

整個實踐過程如下:

[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:掛載當前路徑到容器centos 容器,數(shù)據(jù)將會備份到此路徑

centos: 非常小的鏡像

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

二 恢復

備份最終也是為了可以恢復,否則備份就沒有意義了,Docker恢復備份也很簡單,只需要2步即可。

首先,創(chuàng)建一個帶有空數(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)建另一個容器,掛載data1容器卷中的數(shù)據(jù)卷,并使用untar解壓備份文件到掛載的容器卷中。

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

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

為了查看和驗證恢復的數(shù)據(jù),我們可以再啟動一個容器掛載/opt/x2容器卷來查看。

整個實踐過程如下:

[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)恢復到c3這個容器中的數(shù)據(jù)卷了

感謝你能夠認真閱讀完這篇文章,希望小編分享的“Docker容器從鏡像恢復的方法”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業(yè)資訊頻道,更多相關知識等著你來學習!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI