本篇內(nèi)容主要講解“Docker Volume是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Docker Volume是什么”吧!
成都創(chuàng)新互聯(lián)專注于企業(yè)網(wǎng)絡(luò)營銷推廣、網(wǎng)站重做改版、河南網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、成都h5網(wǎng)站建設(shè)、購物商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為河南等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。一:簡介
Docker鏡像是由多個文件系統(tǒng)(只讀層)疊加而成.當(dāng)我們啟動一個容器的時候,Docker會加載鏡像層并在其上添加一個讀寫層.如果運(yùn)行中的容器修改了現(xiàn)有的一個已存在的文件,那該文件將會從讀寫層下的只讀層復(fù)制到讀寫層,該文件的只讀版本仍然存在,只是已經(jīng)被讀寫層中該文件的副本所隱藏.當(dāng)刪除Docker容器,并通過該鏡像重新啟動時,之前的更改將會丟失.在Docker中,只讀層以及在頂部的讀寫層的組合被稱為Union FIle System(聯(lián)合文件系統(tǒng)).
為了能夠保存(持久化)數(shù)據(jù)以及共享容器間的數(shù)據(jù),Docker提出了Volume的概念.簡單來說,Volume就是目錄或者文件,它可以繞過默認(rèn)的聯(lián)合文件系統(tǒng),而以正常的文件或者目錄的形式存在于宿主機(jī)上.
二:數(shù)據(jù)卷
1.映射本地服務(wù)器的目錄 到 容器的/data目錄下面
docker run -ti --name myCentos -v /data centos:latest /bin/bash
docker inspect myCentos
查看結(jié)果 本地服務(wù)器目錄/var/lib/docker/volumes/f4e3133241c8ff27327bc7b9c43588202c22a1cde460ba52b762b75571fed257/_data 被映射到了容器的/data目錄下面
點(diǎn)擊(此處)折疊或打開
"Mounts": [
{
"Name": "f4e3133241c8ff27327bc7b9c43588202c22a1cde460ba52b762b75571fed257",
"Source": "/var/lib/docker/volumes/f4e3133241c8ff27327bc7b9c43588202c22a1cde460ba52b762b75571fed257/_data",
"Destination": "/data",
"Driver": "local",
"Mode": "",
"RW": true,
"Propagation": ""
}
]
2.容器/data目錄下面的變動信息,在本地服務(wù)中都可以看的到。
3.該-v命令 等同于Dockerfile 文件中的 VOLUME /data命令
4.掛載本地服務(wù)器指定目錄到容器目錄中(這是Dockerfile文件中無法實(shí)現(xiàn)的)
docker run -ti --name myCentos3 -v /data/docker:/data/docker centos:latest /bin/bash
三:數(shù)據(jù)共享&數(shù)據(jù)卷容器
docker run -ti --name myCentos4 --volumes-from myCentos3 centos:latest /bin/bash
docker run -ti --name myCentos5 --volumes-from myCentos3 centos:latest /bin/bash VOLUME /data
myCentos4 ,myCentos5 共享容器myCentos3 的數(shù)據(jù)卷, myCentos3 是一個專門的數(shù)據(jù)卷容器。
常見的使用場景是使用純數(shù)據(jù)容器來持久化數(shù)據(jù)庫,配置文件或者數(shù)據(jù)文件等。 數(shù)據(jù)卷容器不需要啟動即可以用來使用。
四:利用數(shù)據(jù)卷容器對其中的數(shù)據(jù)卷進(jìn)行備份和恢復(fù),以實(shí)現(xiàn)數(shù)據(jù)的遷移
備份:
docker run --name myCentos5 --volumes-from myCentos3 -v /backup:/backup centos:latest tar czvf /backup/backup.tar /data/docker
恢復(fù):
docker run --name myCentos6 -v /data/docker centos:latest /bin/bash (創(chuàng)建一個帶有數(shù)據(jù)卷的容器)
docker run --name myCentos7 --volumes-from myCentos6 -v /backup:/backup centos:latest tar xzvf /backup/backup.tar
mv . /data/docker
五:刪除數(shù)據(jù)卷容器
docker rm -v
到此,相信大家對“Docker Volume是什么”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!