好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > Docker中數據卷(volume)管理的兩種方式

Docker中數據卷(volume)管理的兩種方式

熱門標簽:在百度地圖標注車輛 藍點外呼系統 貴陽教育行業電話外呼系統 寧夏房產智能外呼系統要多少錢 做外呼系統的公司違法嗎 烏海智能電話機器人 400電話申請方案 撫順移動400電話申請 威海人工外呼系統供應商

上篇文章給大家介紹過 docker基礎知識之掛載本地目錄的方法 ,今天給大家介紹Docker中數據卷(volume)管理的兩種方式,具體內容如下所示:

什么是數據卷

數據卷( volume ):volume是存在于一個或多個容器中的特定文件或文件夾,這個目錄以獨立于聯合文件系統的形式在宿主機中存在,并為數據的共享與持久化提供便利。

為什么要用數據卷

 Docker分層文件系統存在的問題:
Docker的鏡像是由一系列的只讀層組合而來的,當啟動一個容器時, Docker加載鏡像的所有只讀層,并在最上層加入一個讀寫層。這個設計使得Docker可以提高鏡像構建、存儲和分發的效率,節省了時間和存儲空間,然而也存在如下問題:
1、性能差。
2、多個容器之間的數據無法共享。
3、生命周期與容器相同。當刪除容器時,容器產生的數據將丟失。數據卷機制的好處:
1、mount到主機中,繞開分層文件系統。
2、volume能在不同的容器之間共享和重用。
3、和主機磁盤性能相同。
4、對volume中數據的操作不會影響到鏡像本身。
5、volume的生存周期獨立于容器的生存周期,即使刪除容器,volume仍然會存在,沒有任何容器使用的volume也不會被Docker刪除。
Docker提供了volumedriver接口,通過實現該接口,我們可以為Docker容器提供不同的volume存儲支持。當前官方默認實現了local這種volumedriver,它使用宿主機的文件系統為Docker容器提供volume。

數據卷管理的兩種方式

Docker的volume的本質是容器中一個特殊的目錄。在容器的創建過程中,Docker會將宿主機上的指定目錄(一個以volume ID為名稱的目錄,或者指定的宿主機目錄)掛載到容器中指定的目錄上(使用bing mount掛載方法),故掛載完成后的宿主機目錄和容器內的目標目錄表現一致。

1、綁定掛載bind mount

bind mount是將主機上的目錄或文件mount到容器里。使用直觀高效,易于理解。
使用-v選項指定掛載路徑,格式 <host path>:<container path>
#前面是宿主機真實存在的路徑:后面是容器內的路徑

后臺運行一個使用nginx鏡像的容器并將宿主機的/data目錄掛載到容器的目錄/usr/share/nginx/html下
[root@server1 ~]# docker run -d --name demo -v /data:/usr/share/nginx/html nginx

調到前臺運行,分別查看宿主機和容器的指定的目錄下的內容,是一樣的。這是因為這種方式掛載和我們平時使用mount方式是一樣的,原有數據隱藏,替換為宿主機的數據。
##/data目錄下這么多東西是因為docker默認數據目錄是/data

[root@server1 ~]# docker exec -it demo bash

bind mount默認權限是讀寫rw,可以在掛載時指定只讀ro。

-v選項指定的路徑,如果不存在,掛載時會自動創建。
docker run -it --name vm1 \ /etc/yum.repos.d/dvd.repo:/etc/yum.repos.d/dvd.repo:ro rhel7 bash

2、docker managed volume

bind mount必須指定host文件系統路徑,限制了移植性。
docker managed volume不需要指定mount源,docker自動為容器創建數據卷目錄。默認創建的數據卷目錄都在 /var/lib/docker/volumes 中。
如果掛載時指向容器內已有的目錄,容器內原有數據會被復制到volume中。
創建卷方式:

[root@server1 ~]# docker volume create webdata		#創建一個名為webdata的卷
[root@server1 ~]# docker rm -f demo		#把上面創建的卷刪掉
[root@server1 ~]# docker run -d --name demo -v webdata:/usr/share/nginx/html nginx		
#把webdata這個卷掛載到容器內的/usr/share/nginx/html目錄上并運行一個容器

將創建的webdata卷掛載到容器的/usr…目錄下

進入docker默認創建的數據卷目錄查看卷里的內容,我們可以看到上面只創建了卷,沒有寫入任何東西,但卷里有內容是因為掛載時容器內指定目錄里原本有東西,所以復制過來的

我們運行容器使用的是nginx鏡像,訪問一下,沒有問題

如果掛載時沒指定mount源,那么docker會自動隨機創建一個文件名很長的卷

[root@server1 ~]# docker rm -f demo
[root@server1 ~]# docker run -d --name demo -v /usr/share/nginx/html nginx
67ab13a7b24c19c53f4ce117136b9d0e4dec93c615a0192ead919d10e6c2acae


我們使用docker inspect demo命令查看下卷的源目錄

得到路徑后就可以查看目錄下的內容了

ls /var/lib/docker/volumes/2ca22fd769e4b7b6f5a02dd96fe8d47a6df5578074c0d340ced3ab33b25456ca/_data

bind mount 與 docker managed volume 對比

相同點:兩者都是 host 文件系統中的某個路徑。
不同點如圖:

到此這篇關于Docker中的數據卷(volume)管理的兩種方式的文章就介紹到這了,更多相關Docker數據卷volume內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

標簽:周口 慶陽 朝陽 松原 泰州 銅川 那曲 蕪湖

巨人網絡通訊聲明:本文標題《Docker中數據卷(volume)管理的兩種方式》,本文關鍵詞  Docker,中,數據,卷,volume,管理,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Docker中數據卷(volume)管理的兩種方式》相關的同類信息!
  • 本頁收集關于Docker中數據卷(volume)管理的兩種方式的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 18韩漫免费网站在线观看| 国产激情在线视频| 50部必看h动漫| 顶级毛片在线手机免费看| 亚洲欧洲国产综合| 少妇又大又粗又硬啪啪小说| 日本熟人妻人伦A片悠田优| 秋霞无码免费AV鲁丝片久久久| 色播播网| 女厕偷拍TXXXXXXX视频| 韩漫无删| 久久精品国产亚洲AV天美18| 国产精品久久久久精品a级小说| 男女互舔下面视频| 女人裸下部图裸露全身写真图片| 一代女皇A片艳史电影电影金凤凰| 91在线无码精品秘?色| 嗯哦嗯舔的我好爽| a级毛片免费在线观看| 久久精品色欧美AⅤ一区二区| 亚洲AV乱码VA国产AV张津瑜| 护士紧窄惨叫稚嫩| 国产特黄一级一片免费| 丫头把腿开大让我添添| 亚洲区久久| 天天射天天爱天天干| 猛男互摸??巴| 欧洲风流少妇XXXXⅩO69| 欧洲男女下面进出的视频| 狠狠综合久久久久综合小说网| 放荡娇妻互换h| 在线观看17c国产精品2022| 国产3p露脸普通话对白| 91麻豆国产极品在线观看洋子| 久久精品中文字幕极品| 巨胸喷奶水视频| 久久99精品久久久久久无毒不卡| 青青草久久伊人| 操操操操网| 91精品久久人妻一区二区夜夜夜| 麻豆精产国品一二三区发展历程|