91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Docker數據存儲Volumes怎么管理

發布時間:2022-03-24 16:52:13 來源:億速云 閱讀:165 作者:iii 欄目:web開發

這篇文章主要介紹“Docker數據存儲Volumes怎么管理”,在日常操作中,相信很多人在Docker數據存儲Volumes怎么管理問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Docker數據存儲Volumes怎么管理”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

默認容器的數據的讀寫發生在容器的存儲層,當容器被刪除時其上的數據將會丟失。所以我們應該盡量保證容器存儲層不發生寫操作,為了實現數據的持久化存儲我們需要選擇一種方案來保存數據,當前有以下幾種方式:

  • volumes

  • bind mounts

  • tmpfs mounts

下圖展示了這三種技術:

Docker數據存儲Volumes怎么管理

volumes

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

  • 數據卷可以在容器間共享和重用

  • 對數據卷的寫入操作,不會對鏡像有任何影響

  • 數據卷默認會一直存在,即使容器被刪除

使用數據卷的目的是持久化容器中的數據,以在容器間共享或者防止數據丟失(寫入容器存儲層的數據會丟失)。

使用數據卷的步驟一般分為兩步:

  1. 創建一個數據卷

  2. 使用-v或--mount參數將數據卷掛載容器指定目錄中,這樣所有該容器針對該指定目錄的寫操作都會保存在宿主機上的volume中。

volume管理

創建一個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"
 }
]

我么可以看到創建的volume my-vol保存在目錄/var/lib/docker/volumes/下,以后所有針對該volume的寫數據都會保存中目錄/var/lib/docker/volumes/my-vol/_data下。

刪除一個volume:

$ docker volume rm my-vol

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

docker volume prune

掛載數據卷到容器目錄

創建了一個volume之后,我們可以在運行容器時通過指定-v或--mount參數來使用該volume:

使用--mount參數:

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

source指定volume,destination指定容器內的文件或文件夾。

或者使用-v參數:

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

掛載成功后,容器從/usr/share/nginx/html目錄下讀取或寫入數據,實際上都是從宿主機的nginx-vol數據卷中讀取或寫入數據。因此volumes或bind mounts也可以看作是容器和宿主機共享文件的一種方式。

-v參數使用冒號分割source和destination,冒號前半部分是source,后半部分是destination。

如果你掛載一個還不存在的數據卷,docker會自動創建它。(因此創建數據卷那一步非必需)

如果容器中的待掛載的目錄不是一個空目錄,那么該目錄下的文件會被復制到數據卷中。(bind mounts下,宿主機上的目錄總會覆蓋容器中的待掛載目錄)

-v參數和--mount參數總的來說功能幾乎相同,唯一的區別是在運行一個service時只能夠--mount參數來掛載數據卷。

使用只讀數據卷

有些情況下,我們希望某個數據卷對某個容器來說是只讀的,可以通過添加readonly選項來實現:

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

或者使用-v參數:

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

到此,關于“Docker數據存儲Volumes怎么管理”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

满城县| 隆林| 沧源| 兴隆县| 镇江市| 南丰县| 浦城县| 松溪县| 泰宁县| 洪泽县| 肃南| 九台市| 津南区| 敦化市| 蓬安县| 蒙阴县| 凤城市| 六枝特区| 鹰潭市| 棋牌| 固镇县| 嵩明县| 定边县| 江源县| 九龙县| 科技| 东光县| 稷山县| 武宁县| 崇仁县| 大悟县| 遂平县| 澄迈县| 团风县| 枣强县| 武安市| 通渭县| 修文县| 武义县| 吉隆县| 宜丰县|