亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 服務器 > Web服務器 > 正文

Docker中容器數據卷(Data Volume)和數據管理詳解

2024-09-01 13:50:48
字體:
來源:轉載
供稿:網友

卷(Volume)

眾所周知卷(Volume)是容器中的一個數據掛載點,卷可以繞過聯合文件系統,從而為Docker 提供持久數據,所提供的數據還可以在宿主機-容器或多個容器之間共享。通過卷,我們可以可以使修改數據直接生效,而不必重新構建鏡像。

一、數據卷

數據卷是一個可以繞過聯合文件系統的,專門指定的可在一或多個容器間共享目錄。卷為提供為持久化或共享數據提供了一些有用的特性。

數據卷設計的初哀是提供持久化數據,而與容器的生命周期無關。因此,在刪除容器時,Docker不會自動刪除卷,直到沒有容器再引用。

1.1 添加數據卷

可以在docker createdocker create命令創建容器時,通過-v參數為容器添加數據卷。-v參數參數可以多次使用,以添加多個數據卷。

如,可以像下面這樣為容器添加一個卷:

$ sudo docker run -t -i -v /home/test --name test itbilu/test /bin/bash

這樣就會在容器內/webapp位置創建一個卷。

除了在創建容器時添加數據卷外,還可以通過Dockerfile文件中通過Volume指令添加,Volume可以多次使用以添加多個數據卷。

說明:本文中使用的示例鏡像(itbilu/test)通過以下Dockerfile文件創建:

# Version: 0.0.3FROM ubuntu:16.04MAINTAINER 何民三 "cn.liuht@gmail.com"RUN apt-get updateRUN apt-get install -y nginxRUN echo 'Hello World, 我是個容器' /  > /var/www/html/index.htmlRUN mkdir /home/itbilu/ENV ITBILU_PATH /home/itbilu/VOLUME [$ITBILU_PATH]EXPOSE 80

1.2 卷位置

添加卷后,可以通過docker inspect來查看數據卷在容器中的位置:

$ sudo docker inspect test

docker inspect可以用來查看容器或鏡像的詳細配置信息。可以在容器的Mounts節點下,查看容器的卷信息:

..."Mounts": [{ "Type": "volume", "Name": "5f869c580c06e6079b0de2c5ce682c1c9467286c76b506703d87bf11d1271c24", "Source": "/var/lib/docker/volumes/5f869c580c06e6079b0de2c5ce682c1c9467286c76b506703d87bf11d1271c24/_data", "Destination": "/home/test", "Driver": "local", "Mode": "", "RW": true, "Propagation": ""},{ "Type": "volume", "Name": "e4fd6c3a91ba2e03b14cf174c2023f366abbe9f2f73ca07e6bac223f68e47773", "Source": "/var/lib/docker/volumes/e4fd6c3a91ba2e03b14cf174c2023f366abbe9f2f73ca07e6bac223f68e47773/_data", "Destination": "[/home/itbilu/]", "Driver": "local", "Mode": "", "RW": true, "Propagation": ""}],...

在以上示例中,有兩個掛載卷,一個是在docker run創建容器時創建的,而另一個是在創建運行容器鏡像的Dockerfile文件中通過VOLUME指令創建。其中,Source表示宿主機源文件位置,Destination表示數據卷在容器中的掛載位置,而RW表示卷是否可讀/寫。

1.3 掛載本地數據到容器數據卷

在前面示例中,我們運行容器時并沒有指定要掛載到容器中數據卷的本地目錄,所在Docker使用一個默認數據目錄。 -v參數除了可以在容器中創建數據卷外,還可以將宿主機中的目錄掛載到容器中的數據卷。

如,運行容器,并將本地的~/code/itbilu目錄掛載到容器的/home/itbilu數據卷上:

$ sudo docker run -t -i -v ~/code/itbilu:/home/itbilu --name test itbilu/test /bin/bas

注意:掛載本地目錄到容器內的掛載目錄時,如果容器內的數據卷中已經存在數據,那么本地內容將與數據卷中的數據重疊,而不會刪除數據。

其中,容器目錄必須使用絕對路徑,而本地目錄可以使用絕對路徑或其它形式。

掛載共享存儲

除了可以載掛本地目錄到容器數據卷外,一些Docker卷插件讓你可以掛載共享存儲到容器的數據卷,如:iSCSI、NFS、FC。使用共享卷的好處是它們是獨立于主機的,這意味著,只要有訪問共享存儲權限,并安裝插件,就可以在任何容器上啟動卷。

詳細參考:

Mount a shared-storage volume as a data volume

掛載本地文件到容器數據卷

-v參數不僅可掛載目錄,還可以掛載單個文件。如:

$ sudo docker run -t -i -v ~/.bash_history:/root/.bash_history /--name test itbilu/test /bin/bash

以上會把本地的~/.bash_history文件掛載到新容器中,這樣你就可以在容器內訪問宿主上的bash歷史記錄。

二、數據卷容器

如果你有一些要在容器之間共享的持久性數據,或者希望在非持久容器中使用,那么最好創建一個命名的數據卷容器,然后從其掛載數據。

接下來,我們創建一個新的命名的共享容器。這個容器不運行一個應用程序,它利用training/postgres鏡像在所有的容器之間創建了一個共享層,以節省磁盤空間。

$ sudo docker create -v /dbdata --name dbstore training/postgres /bin/true

注意:training/postgres是Docker 官方文檔中提供的一個鏡像,本文拿來直接使用了。

使用數據卷容器

創建數據卷容器后,我們可以通過--volumes-from選項,將一個數據容器掛載到其它容器:

$ sudo docker run -d --volumes-from dbstore --name db1 training/postgres

也可以在多個容器間共享。如,掛載到另一個容器:

$ sudo docker run -d --volumes-from dbstore --name db2 training/postgres

這時,如果training/postgres鏡像內有名/dbdata的目錄,則會從dbstore容器掛載卷,并會隱藏training/postgres鏡像中/dbdata下的文件。最終只有dbstore容器中的文件可見。

還可以擴展掛載鏈,從已經存在的dbstore容器(如:db1、db2)來掛載卷:

$ sudo docker run -d --name db3 --volumes-from db1 training/postgres

這種情況下,如果移除己掛載卷的容器,無論是最初的dbstore容器,還是其后的db1或db2容器,卷都不會被移除。要將卷從硬盤上移除,必須使用docker rm -v命令刪除最后一個引用了該卷的容器。

三、備份、恢復與遷移數據卷

除上述操作外,數據卷的常用操作還有數據卷備份、恢復、合并操作。以下是一些常用操作:

3.1 備份數據卷

在前面介紹數據卷容器時,我們創建了一個名為dbdata容器,并在容器中創建了一個/dbdata的數據卷。接下來,可以在創建容器使用--volumes-from參數來掛載這個數據卷,并對數據進行備份:

$ sudo docker run --volumes-from dbdata -v $(pwd):/backup ubuntu tar cvf /backup/backup.tar /dbdata

在這個操作中,我們通過ubuntu鏡像創建了一個容器,創建容器時通過--volumes-from參數共享了數據卷容器中的數據,并將當前目錄($(pwd) )掛載到了數據卷中。容器運行后,使用tar命令對數據卷進行了備份。

命令執行結束后,容器就會停止,之后就可以在本地當前操作目錄下找到所備份的數據。

3.2 備份數據卷

數據備份后,可以在創建容器恢復備份數據到容器內的數據卷中,從而實現數據的遷移。

首先,創建并運行容器并添加一個數據卷:

$ sudo docker run -i -t -v /dbdata --name dbdata2 ubuntu /bin/bash

然后通過tar命令恢復備份數據:

$ sudo docker run --rm --volumes-from dbdata2 -v $(pwd):/backup ubuntu bash -c "cd /dbdata && tar xvf /backup/backup.tar --strip 1"

這樣,數據就被恢復到了容器dbdata2的/dbdata目錄下,我們可以容器中操作和使用這些數據。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产伦精品免费视频| 亚洲日本中文字幕免费在线不卡| 日韩激情在线视频| 国产成人精品免费久久久久| 国产午夜一区二区| 国产精品旅馆在线| 国产午夜精品视频免费不卡69堂| 国产成人一区二区三区电影| 在线中文字幕日韩| 一区二区三区回区在观看免费视频| 国产日产久久高清欧美一区| 亚洲精品www久久久久久广东| 色哟哟网站入口亚洲精品| 久久男人资源视频| 欧美日韩一区二区在线| 国产在线拍揄自揄视频不卡99| 欧美精品videossex88| 国产精品日韩一区| 久久精品国产精品亚洲| 亚洲tv在线观看| 国产性猛交xxxx免费看久久| 精品精品国产国产自在线| 一区二区欧美日韩视频| 欧美综合第一页| 亚洲成人亚洲激情| 成人xxxxx| 97久久超碰福利国产精品…| 亚洲精品99999| 久久久久久免费精品| 亚洲成人久久久| 国产成人拍精品视频午夜网站| 亚洲人成电影网站| 亚洲精品福利在线| 欧美激情喷水视频| 日韩中文字在线| 亚洲女人天堂网| 久久香蕉频线观| 亚洲品质视频自拍网| 久久视频在线播放| 欧美一级免费视频| 91成品人片a无限观看| 伊人亚洲福利一区二区三区| 亚洲成**性毛茸茸| 在线电影欧美日韩一区二区私密| 深夜福利日韩在线看| 91精品国产自产在线观看永久| 国产精品视频内| 国产免费久久av| 亚洲国产精品99久久| 在线观看91久久久久久| 日韩福利视频在线观看| 日本成人黄色片| 热久久视久久精品18亚洲精品| 欧美电影免费观看高清| 亚洲国产一区二区三区在线观看| 97精品欧美一区二区三区| 色777狠狠综合秋免鲁丝| 色av中文字幕一区| 精品久久久国产精品999| 欧美日韩另类字幕中文| 国产欧美一区二区白浆黑人| 亚洲免费高清视频| 国产suv精品一区二区三区88区| 全亚洲最色的网站在线观看| 欧美裸身视频免费观看| 97**国产露脸精品国产| 97国产suv精品一区二区62| 欧美亚州一区二区三区| 欧美激情视频一区| 亚洲美女黄色片| 欧美国产日韩二区| 国产一区二区av| 国内偷自视频区视频综合| 久久精品国产亚洲精品2020| 91精品国产高清久久久久久| 亚洲成人黄色在线观看| 中文字幕亚洲无线码a| 日韩高清电影免费观看完整版| 国产精品人成电影在线观看| 91久久国产精品91久久性色| 国产精品久久久久久久久久三级| 九色91av视频| 亚洲国产天堂久久综合网| 国产69久久精品成人| 亚洲国产成人在线视频| 久热精品视频在线| 粉嫩av一区二区三区免费野| 欧美日韩免费观看中文| 精品视频www| 日本欧美精品在线| 精品国产1区2区| 亚洲精品自拍偷拍| 久久久亚洲影院你懂的| 狠狠色狠色综合曰曰| 国产亚洲视频在线| 岛国av一区二区在线在线观看| 亚洲人高潮女人毛茸茸| 欧美激情视频一区二区| 亚洲一区二区久久久久久久| 国产亚洲精品va在线观看| 亚洲国产高清自拍| 92看片淫黄大片看国产片| 最近2019好看的中文字幕免费| 亚洲第一黄色网| 欧美成人黑人xx视频免费观看| 国产精品偷伦免费视频观看的| 亚洲国产高清福利视频| 成人午夜一级二级三级| 2023亚洲男人天堂| 亚洲自拍偷拍视频| 国产亚洲美女精品久久久| 国产一区二区三区丝袜| 久久九九亚洲综合| 欧美在线视频网站| 欧美另类交人妖| 亚洲网站在线观看| 欧美极品欧美精品欧美视频| 亚洲激情视频在线| 久久久亚洲欧洲日产国码aⅴ| 亚洲va码欧洲m码| 国产精品视频区| 精品久久中文字幕久久av| 亚洲欧美综合图区| 最近2019好看的中文字幕免费| 91探花福利精品国产自产在线| www高清在线视频日韩欧美| 日韩亚洲国产中文字幕| …久久精品99久久香蕉国产| 欧洲亚洲在线视频| 日韩av免费网站| 91夜夜未满十八勿入爽爽影院| 国产精品黄色影片导航在线观看| 日韩电影大片中文字幕| 久久精品视频在线观看| 国产精品三级在线| 日本一区二区三区四区视频| 久久成人免费视频| 久久色免费在线视频| 成人精品视频99在线观看免费| 国产999精品| 国产精品一区二区三区免费视频| 亚洲男女自偷自拍图片另类| 亚洲成人在线视频播放| 精品国产一区二区在线| 欧美激情视频网| 亚洲一区美女视频在线观看免费| 97视频在线观看免费高清完整版在线观看| 久久久精品免费视频| 欧美成人精品一区二区三区| 欧美乱妇40p| 国产成人综合一区二区三区| 亚洲成人999| 久久久免费av| 亚洲欧美999| 欧美日韩精品在线观看| 日本国产一区二区三区| 国产精品日韩专区| 欧美激情视频一区二区| 欧美午夜视频一区二区| 国产精品久久77777| 日本欧美爱爱爱| 亚洲男女性事视频| 久久久久久成人精品| 亚洲视频网站在线观看|