欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Docker數(shù)據(jù)存儲(chǔ)之Volumes詳解

 更新時(shí)間:2019年02月21日 10:53:08   作者:cheergoivan  
今天小編就為大家分享一篇關(guān)于Docker數(shù)據(jù)存儲(chǔ)之Volumes詳解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧

默認(rèn)容器的數(shù)據(jù)的讀寫(xiě)發(fā)生在容器的存儲(chǔ)層,當(dāng)容器被刪除時(shí)其上的數(shù)據(jù)將會(huì)丟失。所以我們應(yīng)該盡量保證容器存儲(chǔ)層不發(fā)生寫(xiě)操作,為了實(shí)現(xiàn)數(shù)據(jù)的持久化存儲(chǔ)我們需要選擇一種方案來(lái)保存數(shù)據(jù),當(dāng)前有以下幾種方式:

  • Volumes
  • Bind mounts
  • tmpfs mounts

下圖展示了這三種技術(shù):

Volumes

Volumes(數(shù)據(jù)卷)是一個(gè)可供一個(gè)或多個(gè)容器使用的位于宿主機(jī)上特殊目錄,它擁有以下特性:

  • 數(shù)據(jù)卷可以在容器間共享和重用
  • 對(duì)數(shù)據(jù)卷的寫(xiě)入操作,不會(huì)對(duì)鏡像有任何影響
  • 數(shù)據(jù)卷默認(rèn)會(huì)一直存在,即使容器被刪除

使用數(shù)據(jù)卷的目的是持久化容器中的數(shù)據(jù),以在容器間共享或者防止數(shù)據(jù)丟失(寫(xiě)入容器存儲(chǔ)層的數(shù)據(jù)會(huì)丟失)。

使用數(shù)據(jù)卷的步驟一般分為兩步:

  1. 創(chuàng)建一個(gè)數(shù)據(jù)卷
  2. 使用-v或--mount參數(shù)將數(shù)據(jù)卷掛載容器指定目錄中,這樣所有該容器針對(duì)該指定目錄的寫(xiě)操作都會(huì)保存在宿主機(jī)上的Volume中。

Volume管理

創(chuàng)建一個(gè)Volume:

$ docker volume create my-vol

查看Volumes:

$ docker volume ls
local    my-vol
$ docker volume inspect my-vol
[
 {
  "Driver": "local",
  "Labels": {},
  "Mountpoint": "/var/lib/docker/volumes/my-vol/_data",
  "Name": "my-vol",
  "Options": {},
  "Scope": "local"
 }
]

我么可以看到創(chuàng)建的Volume my-vol保存在目錄/var/lib/docker/volumes/下,以后所有針對(duì)該Volume的寫(xiě)數(shù)據(jù)都會(huì)保存中目錄/var/lib/docker/volumes/my-vol/_data下。

刪除一個(gè)Volume:

$ docker volume rm my-vol

或者刪除所有未使用的Volumes:

docker volume prune

掛載數(shù)據(jù)卷到容器目錄

創(chuàng)建了一個(gè)Volume之后,我們可以在運(yùn)行容器時(shí)通過(guò)指定-v或--mount參數(shù)來(lái)使用該Volume:

使用--mount參數(shù):

$ docker run -d \
 --name=nginxtest \
 --mount source=nginx-vol,destination=/usr/share/nginx/html \
 nginx:latest

source指定volume,destination指定容器內(nèi)的文件或文件夾。

或者使用-v參數(shù):

$ docker run -d \
 --name=nginxtest \
 -v nginx-vol:/usr/share/nginx/html \
 nginx:latest

掛載成功后,容器從/usr/share/nginx/html目錄下讀取或?qū)懭霐?shù)據(jù),實(shí)際上都是從宿主機(jī)的nginx-vol數(shù)據(jù)卷中讀取或?qū)懭霐?shù)據(jù)。因此Volumes或Bind mounts也可以看作是容器和宿主機(jī)共享文件的一種方式。

-v參數(shù)使用冒號(hào)分割source和destination,冒號(hào)前半部分是source,后半部分是destination。

如果你掛載一個(gè)還不存在的數(shù)據(jù)卷,Docker會(huì)自動(dòng)創(chuàng)建它。(因此創(chuàng)建數(shù)據(jù)卷那一步非必需)

如果容器中的待掛載的目錄不是一個(gè)空目錄,那么該目錄下的文件會(huì)被復(fù)制到數(shù)據(jù)卷中。(Bind mounts下,宿主機(jī)上的目錄總會(huì)覆蓋容器中的待掛載目錄)

-v參數(shù)和--mount參數(shù)總的來(lái)說(shuō)功能幾乎相同,唯一的區(qū)別是在運(yùn)行一個(gè)service時(shí)只能夠--mount參數(shù)來(lái)掛載數(shù)據(jù)卷。

使用只讀數(shù)據(jù)卷

有些情況下,我們希望某個(gè)數(shù)據(jù)卷對(duì)某個(gè)容器來(lái)說(shuō)是只讀的,可以通過(guò)添加readonly選項(xiàng)來(lái)實(shí)現(xiàn):

$ docker run -d \
 --name=nginxtest \
 --mount source=nginx-vol,destination=/usr/share/nginx/html,readonly \
 nginx:latest

或者使用-v參數(shù):

$ docker run -d \
 --name=nginxtest \
 -v nginx-vol:/usr/share/nginx/html:ro \
 nginx:latest

Volumes使用場(chǎng)景

請(qǐng)參考這篇文章:Docker數(shù)據(jù)存儲(chǔ)總結(jié)

參考文章

https://docs.docker.com/storage/volumes/#share-data-among-machines

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接

相關(guān)文章

  • docker容器之間通訊-network解讀

    docker容器之間通訊-network解讀

    這篇文章主要介紹了docker容器之間通訊-network解讀,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • Docker本地部署Drupal并實(shí)現(xiàn)公網(wǎng)訪問(wèn)的詳細(xì)步驟

    Docker本地部署Drupal并實(shí)現(xiàn)公網(wǎng)訪問(wèn)的詳細(xì)步驟

    Drupal是使用PHP語(yǔ)言編寫(xiě)的開(kāi)源內(nèi)容管理框架(CMF),它由內(nèi)容管理系統(tǒng)(CMS)和PHP開(kāi)發(fā)框架(Framework)共同構(gòu)成,這篇文章主要給大家介紹了關(guān)于Docker本地部署Drupal并實(shí)現(xiàn)公網(wǎng)訪問(wèn)的詳細(xì)步驟,需要的朋友可以參考下
    2023-12-12
  • docker安裝influxdb的詳細(xì)教程(性能測(cè)試)

    docker安裝influxdb的詳細(xì)教程(性能測(cè)試)

    這篇文章主要介紹了docker安裝influxdb的詳細(xì)教程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07
  • 使用?Docker安裝?Zabbix并配置自定義監(jiān)控項(xiàng)的過(guò)程詳解

    使用?Docker安裝?Zabbix并配置自定義監(jiān)控項(xiàng)的過(guò)程詳解

    Zabbix?可以用來(lái)監(jiān)控各種網(wǎng)絡(luò)參數(shù),來(lái)保證服務(wù)器和系統(tǒng)的安全運(yùn)行,是一個(gè)基于?Web?界面提供的分布式系統(tǒng)監(jiān)控以及網(wǎng)絡(luò)監(jiān)控功能的企業(yè)級(jí)開(kāi)源解決方案,對(duì)Docker?安裝?Zabbix配置自定義監(jiān)控項(xiàng)相關(guān)知識(shí)感興趣的朋友一起看看吧
    2022-04-04
  • Docker常見(jiàn)的錯(cuò)誤和異常整理大全

    Docker常見(jiàn)的錯(cuò)誤和異常整理大全

    這篇文章主要給大家介紹了關(guān)于Docker常見(jiàn)的錯(cuò)誤和異常整理的相關(guān)資料,文中通過(guò)代碼示例介紹的非常詳細(xì),對(duì)新手們學(xué)習(xí)Docker具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-08-08
  • docker運(yùn)行PostgreSQL數(shù)據(jù)庫(kù)維護(hù)執(zhí)行腳本備份數(shù)據(jù)庫(kù)與更新表結(jié)構(gòu)的方法

    docker運(yùn)行PostgreSQL數(shù)據(jù)庫(kù)維護(hù)執(zhí)行腳本備份數(shù)據(jù)庫(kù)與更新表結(jié)構(gòu)的方法

    這篇文章主要介紹了docker運(yùn)行PostgreSQL數(shù)據(jù)庫(kù)維護(hù),執(zhí)行腳本備份數(shù)據(jù)庫(kù)與更新表結(jié)構(gòu),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-05-05
  • Docker創(chuàng)建MySQL的講解

    Docker創(chuàng)建MySQL的講解

    今天小編就為大家分享一篇關(guān)于Docker創(chuàng)建MySQL的講解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-01-01
  • docker run啟動(dòng)的容器掛掉了數(shù)據(jù)怎么辦

    docker run啟動(dòng)的容器掛掉了數(shù)據(jù)怎么辦

    這篇文章主要介紹了docker run啟動(dòng)的容器掛掉了,數(shù)據(jù)怎么辦,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-09-09
  • Docker-compose部署ELK的示例代碼

    Docker-compose部署ELK的示例代碼

    這篇文章主要介紹了Docker-compose部署ELK的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • 運(yùn)行docker需要的權(quán)限分析

    運(yùn)行docker需要的權(quán)限分析

    在本篇文章了小編給各位分享的是一篇關(guān)于運(yùn)行docker需要的權(quán)限分析,有興趣的朋友們可以參考下。
    2020-03-03

最新評(píng)論