最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

docker數(shù)據(jù)持久化及配置Volume和mount實(shí)踐

 更新時間:2026年03月04日 10:00:45   作者:Y。S。H。  
文章主要討論了Docker容器的存儲問題,包括只讀層與讀寫層的復(fù)制、容器刪除導(dǎo)致的數(shù)據(jù)丟失、以及Docker提供的三種解決方案:bindmount、volume和tmpfs,文章還詳細(xì)介紹了volume的優(yōu)點(diǎn),并提供了一些命令解析和掛載的使用方法

容器自身存儲的問題

Docker鏡像是由多個文件系統(tǒng)(只讀層)疊加而成,容器啟動的時候是在原鏡像層上面加了一層可讀寫層,容器層,如果運(yùn)行中的容器修改了現(xiàn)有的一個已經(jīng)存在的文件,那該文件將會從讀寫層下面的只讀層復(fù)制到讀寫層,該文件的只讀版本仍然存在,只是已經(jīng)被讀寫層中該文件的副本所隱藏。當(dāng)刪除Docker容器,并通過該鏡像重新啟動時,之前的更改將會丟失。

1、由于docker自身存儲的方式,導(dǎo)致讀寫效率會降低,因?yàn)樾枰獙⒅蛔x層先復(fù)制到讀寫層這樣的過程

2、當(dāng)刪除Docker容器,容器層數(shù)據(jù)也會刪除

3、數(shù)據(jù)遷移共享和管理不便

提醒:網(wǎng)上好多版本說容器重啟就會丟失數(shù)據(jù),不知道為什么有這樣的結(jié)論,容器層存在的話應(yīng)該不存在數(shù)據(jù)丟失問題

docker提供三種解決方案

  • bind mount:將宿主機(jī)中的文件、目錄mount掛載到容器上,依賴宿主機(jī)。
  • volume:volume由docker管理,比如創(chuàng)建、刪除什么的。默認(rèn)volume的存儲空間/var/lib/docker/volumes/創(chuàng)建的卷名稱,volume是官方推薦的持久化方案。
  • tmpfs mount:如果您的容器生成非持久狀態(tài)數(shù)據(jù),可以使用 tmpfs掛載以避免將數(shù)據(jù)永久存儲在任何地方,并通過避免寫入容器的可寫層來提高容器的性能

bind mount和volume基本都差不多,只是針對特殊場景和需求而選擇

看下官網(wǎng)說的volume的優(yōu)點(diǎn)

1、volume可命令或Docker API管理 (mount沒有任何命令管理)

2、volume在Linux和Windows容器上均可工作(mount依賴宿主機(jī)格式)

3、volume更易于備份或遷移

4、可以在多個容器之間更安全地共享volume

5、持久化數(shù)據(jù)到遠(yuǎn)程主機(jī)或者云存儲而非本地 (具體的存儲可以不在宿主機(jī)上,mount依賴宿主機(jī))

6、volume的內(nèi)容可以由容器預(yù)先填充 (volume 會保留原目錄數(shù)據(jù),mount會屏蔽原目錄數(shù)據(jù))

  • 如果將空volume掛載到container上的某個目錄,此目錄下原來的文件與子目錄會復(fù)制到空volume中。
  • 如果mount一個非空目錄或者文件,或者非空volume,則container目錄中的原始內(nèi)容將被遮蔽,當(dāng)解決掛載時則自動恢復(fù)。

也參考這一篇:點(diǎn)擊進(jìn)入

官網(wǎng)命令解析:

運(yùn)行后容器,官方是沒有提供任何可以執(zhí)行的操作添加存儲方式

1、鏡像run的使用 加上參數(shù)配置

2、 commit提交副本鏡像,重新啟動新鏡像加上參數(shù)配置(針對容器已經(jīng)有數(shù)據(jù)的情況下)

–mount

由多個名值對組成,逗號分隔,每個鍵值由 = 元組組成。–mount 語法比 -v 或 --volume更冗長,但鍵的順序并不重要,并且標(biāo)志的值更易于理解

 docker run  -itd --mount type=bind,source=/root,target=/tmp ubuntu /bin/bash
  • 要掛載的類型 type,可以是 bind、volume 或 tmpfs。
  • 要掛載的源 source,對于有名字的卷,這里是卷的名字。對于匿名卷忽略這個字段??梢灾付?src 或 source。
  • 要掛載的目的地 destination,將文件或目錄掛載在容器中的路徑作為其值。 可能被指定為 destination、dst 或target。
  • 只讀選項(xiàng) readonly,這個選項(xiàng)會使得掛載到容器中的綁定掛載只讀。
  • volume-opt可以多次指定的選項(xiàng)采用鍵值對,該鍵值對由選項(xiàng)名稱及其值組成。
  • 最后的/bin/bash,表示一旦容器啟動,需要運(yùn)行的命令,此時使用“/bin/bash”,表示什么也不做,只需進(jìn)入命令行即可

-v或–volume

由三個字段組成,以冒號(:)分隔。這些字段必須以正確的順序排列,并且每個字段的含義不是立即顯而易見的。

docker volume create centos7
創(chuàng)建一個卷名稱centos7

docker volume ls
查看卷

docker run  -itd -v cetnos7:/root  ubuntu /bin/bash
  • 第一個字段是卷的名稱,在給定的主機(jī)上是唯一的。對于匿名卷,將省略第一個字段。
  • 第二個字段是文件或目錄在容器中的安裝路徑。
  • 第三個字段是可選的,看官方手冊
 docker volume create my-vol #創(chuàng)建數(shù)據(jù)卷
 docker volume ls #查看有哪些卷
 docker volume inspect my-vol #查看卷詳情 
 docker rm -f web #強(qiáng)制刪除運(yùn)行中的容器
 docker volume rm my-vol #刪除卷
 docker volume prune #清理無用的卷
 docker ps -s #可以查看容器的大小是沒有增加的

我們怎么看容器是否掛載存儲呢?

docker inspect eb5e31fef691
查看容器詳細(xì)信息

容器本身存儲

mount掛載

volume掛載

總結(jié)

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 怎樣獲取docker動態(tài)分配的port

    怎樣獲取docker動態(tài)分配的port

    這篇文章給大家主要介紹了如何獲取docker動態(tài)分配的port,文中通過分析、解決以及后續(xù)可能遇到的問題都給大家詳細(xì)介紹了,有需要的朋友們可以參考借鑒,下面來一起看看吧。
    2016-10-10
  • Docker簡單安裝與應(yīng)用入門教程

    Docker簡單安裝與應(yīng)用入門教程

    這篇文章主要介紹了Docker簡單安裝與應(yīng)用,結(jié)合實(shí)例形式分析了Docker常見的安裝、應(yīng)用構(gòu)建、終端訪問等操作相關(guān)實(shí)現(xiàn)技巧與注意事項(xiàng),需要的朋友可以參考下
    2018-06-06
  • 將Docker容器打包并在其他服務(wù)器上運(yùn)行的全過程

    將Docker容器打包并在其他服務(wù)器上運(yùn)行的全過程

    Docker容器使得應(yīng)用程序的部署和管理變得更加簡單和高效,有時,我們可能需要將一個運(yùn)行中的Docker容器打包,并在其他服務(wù)器上運(yùn)行,本文將詳細(xì)介紹如何實(shí)現(xiàn)這一過程,需要的朋友可以參考下
    2024-05-05
  • docker鏡像倉庫常用命令分享

    docker鏡像倉庫常用命令分享

    這篇文章主要介紹了docker鏡像倉庫常用命令,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-06-06
  • dockerfile構(gòu)建haproxy的詳細(xì)過程(構(gòu)建HAProxy的鏡像)

    dockerfile構(gòu)建haproxy的詳細(xì)過程(構(gòu)建HAProxy的鏡像)

    Dockerfile是一個用于構(gòu)建Docker鏡像的文本文件,包含了構(gòu)建鏡像所需的所有指令和說明,通過定義一系列命令和參數(shù),本文詳細(xì)介紹了如何使用Dockerfile一步步構(gòu)建HAProxy的鏡像,并指導(dǎo)如何創(chuàng)建和運(yùn)行容器,實(shí)現(xiàn)負(fù)載均衡服務(wù),感興趣的朋友一起看看吧
    2025-03-03
  • Docker如何根據(jù)名稱查詢?nèi)萜鱅D鏡像ID并停止刪除

    Docker如何根據(jù)名稱查詢?nèi)萜鱅D鏡像ID并停止刪除

    這篇文章主要介紹了Docker如何根據(jù)名稱查詢?nèi)萜鱅D鏡像ID并停止刪除問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • docker之docker-machine用法詳解

    docker之docker-machine用法詳解

    這篇文章主要介紹了docker之docker-machine用法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • Portainer部署和添加其他docker服務(wù)器的方法

    Portainer部署和添加其他docker服務(wù)器的方法

    文章介紹了如何部署Portainer并添加其他Docker服務(wù)器,本文給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧
    2025-03-03
  • 手把手帶大家通過Docker部署前后端分離項(xiàng)目(親測可用)

    手把手帶大家通過Docker部署前后端分離項(xiàng)目(親測可用)

    近年來前后端分離已經(jīng)成為中大型軟件項(xiàng)目開發(fā)的最佳實(shí)踐,下面這篇文章主要給大家介紹了關(guān)于通過Docker部署前后端分離項(xiàng)目的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-06-06
  • 使用docker?compose快速配置一組容器服務(wù)詳解

    使用docker?compose快速配置一組容器服務(wù)詳解

    這篇文章主要為大家介紹了使用docker-?compose快速配置一組容器服務(wù)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11

最新評論

乐都县| 大同县| 安福县| 丹棱县| 勐海县| 乡城县| 玉山县| 永和县| 博客| 柘荣县| 武穴市| 莫力| 余江县| 灵丘县| 沅陵县| 房山区| 东阳市| 加查县| 建湖县| 隆昌县| 宁武县| 金乡县| 阿坝| 乌拉特前旗| 景宁| 肇源县| 佳木斯市| 东海县| 阜南县| 延津县| 怀化市| 九龙坡区| 治多县| 清徐县| 柯坪县| 且末县| 榆林市| 堆龙德庆县| 永康市| 卢龙县| 榆林市|