一、存儲卷簡介
創(chuàng)新互聯(lián)是一家從事企業(yè)網站建設、網站制作、成都做網站、行業(yè)門戶網站建設、網頁設計制作的專業(yè)的建站公司,擁有經驗豐富的網站建設工程師和網頁設計人員,具備各種規(guī)模與類型網站建設的實力,在網站建設領域樹立了自己獨特的設計風格。自公司成立以來曾獨立設計制作的站點成百上千。1、什么是存儲卷(volume)
就將一個容器的目錄和一個宿主機的目錄同步起來了,就稱之為volume,也就是存儲卷。
當在容器中產生數(shù)據的時候,這個數(shù)據就會直接寫入到了物理磁盤,就解決了性能的問題
使用存儲卷,還實現(xiàn)了數(shù)據的持久存儲
通過使用存儲卷,還可以實現(xiàn)分布式
2、存儲卷的類型
Bind mount volume:
Docker managed volume
Bind mount volume
這種類型是指在創(chuàng)建容器的時候,需要同時指定容器中的掛載點和宿主機的一個目錄,這樣來完成掛載
Docker managed volume
這種類型是在創(chuàng)建容器的時候,僅僅需要同指定容器中的掛載點,不需要指定宿主機中的目錄就可以完成掛載。
宿主機中的目錄會由docker自動生成,而且是隨機生成,默認:/var/lib/docker/vfs/dir/xxxx
案例1:創(chuàng)建一個docker管理的卷
[root@host1?~]#?docker?run?--name?httpd1?-it?--rm?-v?/data?busybox /?#? /?#?echo?"test?message">>/data/test.txt /?#[root@host1?~]#?docker?inspect?httpd1 "Mounts":?[ ????????????{ ????????????????"Type":?"volume", ????????????????"Name":?"636a1967c63705161f941550edf4b0ced1584bf71087596ad61a49df4cd6ae4c", ????????????????"Source":?"/var/lib/docker/volumes/636a1967c63705161f941550edf4b0ced1584bf71087596ad61a49df4cd6ae4c/_data", ????????????????"Destination":?"/data", ????????????????"Driver":?"local", ????????????????"Mode":?"", ????????????????"RW":?true, ????????????????"Propagation":?"" ????????????} ????????],[root@host1?~]#?cd?/var/lib/docker/volumes/636a1967c63705161f941550edf4b0ced1584bf71087596ad61a49df4cd6ae4c/_data [root@host1?_data]#?cat?test.txt? test?message [root@host1?_data]#案例2:創(chuàng)建容器,使用宿主機的/disk目錄掛載到容器中
[root@host1?~]#?docker?run?--name?httpd1?-it?--rm?-v?/disk:/data?busybox /?#? /?#?echo?"test?message">/data/t.txt /?#[root@host1?..]#?cat?/disk/t.txt? test?message宿主機上的/disk如果不存在,會自動創(chuàng)建
我們在設置容器所用的存儲卷的時候,還可以設置容器所用的存成卷和另一個容器的存儲卷相同
案例3:比如前面我們做好了容器httpd1,這里我們再做一個httpd2,讓2和1用相同的存儲卷
[root@host1?..]#?docker?run?--name?httpd2?--rm?-it?--volumes-from?httpd1?busybox /?#? /?#?ls?/data/ t.txt /?#3、基礎架構容器使用舉例
首先我們可以先做個容器,這個容器不需要運行,而是僅僅作為一個基礎架構支撐容器
新建容器的卷復制于這個容器,比如,復制三個容器出來,第一個是nginx作為反向代理,第二個是apache出來靜態(tài)請求,第三個是php處理php請求:
??
這個基礎架構支撐容器,還可以提供一個公共的名稱空間,這樣上面的三個容器就有了相同的IP,主機名,而且也可以基于127進行通信了
案例:基于基礎架構容器制作容器
1)先創(chuàng)建基礎架構容器
[root@host1?~]#?docker?run?--name?base1?-it?--rm?-v?/disk:/data?busybox2)創(chuàng)建nginx容器,復制基礎架構的卷,并使用基礎架構名空間
[root@host1?..]#?docker?run?--name?nginx1?\ >?--network?container:base1?\ >?--volumes-from?base1?-it?nginx:1.14-alpine過濾容器屬性數(shù)據
docker inspect的結果是一個列表,在列表列表中是json格式的字符串
如果此時要過濾數(shù)據,其格式是 docker inspect -f {xxx} b5 來實現(xiàn)過濾效果
-f后面是雙{},外側的{}是固定格式,內側的{}表示從{}中進行過濾
過濾元素的格式 -f '{{.path.item}}'
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。