中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

詳解Docker的持久化存儲和數據共享

發布時間:2020-09-30 03:35:36 來源:腳本之家 閱讀:167 作者:蔣老濕 欄目:服務器

有些容器會自動產生一些數據,為了不讓數據隨著container的消失而消失,保證數據的安全性。例如:數據庫容器,數據表的表會產生一些數據,如果我把container給刪除,數據就丟失。為了保證數據不丟失,這就有了Volume的存在。

Data Volume 結構圖

詳解Docker的持久化存儲和數據共享

Docker持久化數據的方案

  • 基于本地文件系統的Volume。可以再執行Docker create或Docker run時,通過-v參數將主機的目錄作為容器的數據卷。這部分功能便是基本的本地文件系統的volume管理。
  • 基于plugin的Volume,支持第三方的存儲方案,比如NAS,aws

Volume的類型

受管理的data Volume,由docker后臺自動創建。

綁定掛載的Volume,具體掛載位置可以由用戶指定。

數據持久化之Data Volume

以官方鏡像mysql的dockerfile文件為例 。其中dockerfile通過volume指定了當前容器中要備份的文件路徑,但是并沒有指定說要保存到宿主機的哪個位置。

volume:映射容器中的文件到本地宿主機硬盤中

詳解Docker的持久化存儲和數據共享

在我們使用 docker run

啟動mysql鏡像容器的時候,容器會默認在宿主機生成一個volume,至于位置在哪,名字是什么,可以通過如下命令查看

#查看所有volume
docker volume ls
#刪除指定volume
docker volume rm [volume name]
#查看volume詳細
docker volume inspect [volume name]

詳解Docker的持久化存儲和數據共享

此時我們刪除容器,發現volume數據卷還在,有保留。

詳解Docker的持久化存儲和數據共享

此時我們會覺得這個data volume name 的名字很長,很不好理解。我們可以通過 -v 如下命令來指定生成的volume name docker run -d -v mysql:/var/lib/mysql --name mysql mysql5.7
-v

:前參數是volume name, :后面的是要備份的文件目錄(容器)

詳解Docker的持久化存儲和數據共享

此時我們刪除容器,volume數據卷還在,我們用這個名為mysql的volume作為一個新容器的數據卷,覆蓋它。

docker run -d -v mysql:/var/lib/mysql --name mysql2 mysql5.7

進入mysql2容器中,mysql -uroot 進入數據庫中,發現當前數據庫數據和之前刪除的容器中的數據庫數據一樣。

數據持久化之bind Mounting

和上面Data Volume不同的是,bind Mounting只能通過 docker run -v 方式啟動,無法使用dockerfile文件的方式。

運行容器的時候指定本地的一個文件目錄和容器中的一個文件目錄的映射,通過這個可以做文件數據同步,2方無論哪一方有修改,另一方都會同步內容

docker run -d -v $(pwd):/usr/share/nginx/html -p 80:80 --name nginx nginx

這個時候 -v :前面的參數是本機文件路徑, :后面是docker文件目錄(容器)

值得注意的是 ,使用bind Mounting方式做數據卷的映射時,首次 docker run -v 運行,如果本機的文件夾是沒有內容的,docker容器中的文件夾是有內容的,則本機的會覆蓋dokcer容器中的,也就是容器中原本有內容的也會沒有內容。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

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

AI

仲巴县| 天长市| 温州市| 长岭县| 和田市| 衢州市| 荔波县| 西青区| 兴化市| 临沭县| 年辖:市辖区| 正阳县| 鹰潭市| 庆云县| 左云县| 青河县| 崇仁县| 乐山市| 舟曲县| 蒙城县| 民权县| 高雄县| 曲阳县| 和林格尔县| 青阳县| 进贤县| 敦化市| 武城县| 建昌县| 元谋县| 开封县| 嘉善县| 丰原市| 富平县| 剑阁县| 商丘市| 保德县| 龙门县| 兰西县| 德江县| 正蓝旗|