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

溫馨提示×

溫馨提示×

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

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

Docker數據管理的方式有哪些

發布時間:2021-12-13 14:01:09 來源:億速云 閱讀:202 作者:iii 欄目:云計算

本篇內容主要講解“Docker數據管理的方式有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Docker數據管理的方式有哪些”吧!

Docker 基礎 : 數據管理

用戶在使用 Docker 的過程中,往往需要能查看容器內應用產生的數據,或者需要把容器內的數據進行備份,甚至多個容器之間進行數據的共享,這必然涉及容器的數據管理操作。容器中管理數據主要有兩種方式:數據卷(Data Volumes),數據卷容器(Data Volume Containers)。

數據卷

數據卷是一個可供容器使用的特殊目錄,它繞過文件系統,可以提供很多有用的特性:

  1. 數據卷可以在容器之間共享和重用。

  2. 對數據卷的更改會立即生效。

  3. 對數據卷的更新不會影響鏡像。

  4. 數據卷會一直存在,直到沒有容器使用。

5 .視頻詳解

數據卷的使用,類似于 linux 下對目錄或文件進行 mount 操作。

在容器內創建一個數據卷

在用 docker run 命令的時候,使用 -v 標記可以在容器內創建一個數據卷。多次使用 -v 標記可以創建多個數據卷。

下面的例子中我們使用 myimg/webapp 鏡像創建一個 web 容器,并創建一個數據卷掛載到容器的 /webdata 目錄。

$ sudo docker run -d -P –-name web -v /webdata myimg/webapp python app.py

掛載一個主機目錄作為數據卷

使用 -v 標記也可以指定掛載一個本地的已有目錄到容器中去作為數據卷:

$ sudo docker run -d -P –-name web -v /var/data:/opt/webdata myimg/webapp python app.py

上面的命令掛載主機的 /var/data 目錄到容器的 /opt/webdata 目錄。

這個功能在測試的時候特別方便,比如用戶可以放置一些程序或數據到本地目錄中,然后在容器中使用。另外,本地目錄的路徑必須是絕對路徑,如果目錄不存在,Docker 會自動創建。

Docker 掛載數據卷的默認權限是可讀寫(rw),用戶也可以通過 ro 標記指定為只讀:

$ sudo docker run -d -P –-name web -v /var/data:/opt/webdata:ro myimg/webapp python app.py

加了 :ro 之后,容器內掛載的數據卷內的數據就變成只讀的了。

掛載一個本地主機文件作為數據卷

-v 標記也可以掛載一個主機中的文件到容器中作為數據卷,但是這樣做會帶來一些問題。建議還是掛載文件所在的目錄。

數據卷容器

如果用戶需要在容器之間共享一些持續更新的數據,最簡單的方式是使用數據卷容器。數據卷容器其實就是一個普通的容器,專門用它提供數據卷供其他容器掛載。下面簡單介紹其使用方法。

首先要創建一個數據卷容器 mydata,并在其中創建一個數據卷掛載到 /data 目錄。

$ sudo docker run -it -v /data –-name mydata ubuntu

然后在其他容器中使用 --volumes-from 來掛載 mydata 容器中的數據卷。例如創建兩個容器 mycon1 和 mycon2,并從 mydata 容器掛載數據卷:

$ sudo docker run -it --volumes-from mydata –-name mycon1 ubuntu
$ sudo docker run -it --volumes-from mydata –-name mycon2 ubuntu

(注意,命令中沒有指定數據卷的信息,也就是說新容器中掛載數據卷的目錄和源容器中是一樣的。)

此時容器 mycon1 和 mycon2 都掛載同一個數據卷到相同的目錄 /data。三個容器任何一個在該目錄下寫入數據其他容器都能看到。 可以多次使用 --volumes-from 參數來從多個容器掛載多個數據卷。還可以從其他已經掛載了容器的容器來掛載數據卷。并且使用 --volumes-from 參數所掛載數據卷的容器自身并不需要保持在運行狀態。

但刪除掛載了數據卷的容器時,數據卷并不會被自動刪除。如果要刪除一個數據卷,必須在刪除最后一個還掛載著它的容器時顯式的使用 docker rm -v 命令來指定同時刪除關聯的容器。

使用數據卷容器可以讓用戶在容器之間自由的升級和移動數據卷,下面會進行詳細的介紹。

利用數據卷容器遷移數據

可以利用數據卷容器對其中的數據卷進行備份、恢復,以實現數據的遷移。

備份

使用下面的命令來備份 mydata 數據卷容器內的數據卷:

$ sudo docker run --volumes-from mydata -v $(pwd):/backup –-name worker ubuntu tar cvf /backup/backup.tar /data

這個命令首先利用 Ubuntu 鏡像創建了一個容器 worker。又使用 --volumes-from mydata 參數來讓 worker 容器掛載 mydata 容器的數據卷。接下來使用 -v $(pwd):/backup 參數來掛載本地的當前目錄到 worker 容器的 /backup 目錄。

在 worker 容器啟動后,使用了 tar cvf /backup/backup.tar /data 命令來將 /data 下內容備份為容器內的 /backup/backup.tar,即宿主主機的當前目錄下的backup.tar。

恢復

如果要恢復數據到一個容器,可以按照下面的操作。首先創建一個帶有數據卷的容器 mydata2:

$ sudo docker run -v /data –-name mydata2 ubuntu /bin/bash

然后創建另一個新的容器,掛載 mydata2 的數據卷,并使用 tar 解壓縮備份文件到所掛載的容器卷中:

$ sudo docker run --volumes-from mydata2 -v $(pwd):/backup busybox tar xvf /backup/backup.tar

到此,相信大家對“Docker數據管理的方式有哪些”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

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

AI

洱源县| 澄城县| 阳城县| 裕民县| 洛扎县| 新晃| 吉安县| 新安县| 鄄城县| 清新县| 凉山| 镇江市| 叶城县| 嘉鱼县| 赤峰市| 红桥区| 徐闻县| 鄂伦春自治旗| 万全县| 镇原县| 太仆寺旗| 凤山市| 丰顺县| 泰州市| 沅江市| 平谷区| 连江县| 遂宁市| 昌都县| 理塘县| 邵阳县| 克拉玛依市| 商城县| 新余市| 剑阁县| 胶州市| 商河县| 太和县| 汾阳市| 遵化市| 广河县|