一個實際例子理解Docker volume工作原理

      網友投稿 799 2022-05-29

      要了解Docker Volume,首先我們需要理解Docker文件系統的工作原理。Docker鏡像是由多個文件系統的只讀層疊加而成。當一個容器通過命令docker run啟動時,Docker會加載只讀鏡像層并在鏡像棧頂部添加一個讀寫層。如果運行中的容器修改了現有的一個已經存在的文件,那該文件將會從讀寫層下面的只讀層復制到讀寫層,但是該文件的只讀版本依然存在,只不過已經被讀寫層中該文件的副本所隱藏。

      當刪除Docker容器,并通過該鏡像重新啟動時,之前在讀寫層的更改將會丟失。在Docker中,只讀層及在頂部的讀寫層的組合被稱為Union File System(聯合文件系統),簡稱UnionFS,它用到了一個重要的資源管理技術,叫寫時復制。寫時復制(copy-on-write),也叫隱式共享,是一種對可修改資源實現高效復制的資源管理技術。對于一個重復資源,若不修改,則無需立刻創建一個新的資源,該資源可以被共享使用。當發生修改的時候,才會創建新資源。這會大大減少對于未修改資源復制的消耗。其實COW這個概念對編程人員來說一點也不陌生,廣泛用在各種領域,比如ABAP里對于內表(Internal table)的拷貝動作,Java字符串的拷貝實現等等。Docker基于UnionFS去創建containers。

      我們下面看一個實際例子。

      使用命令行docker run --help查看這個命令的幫助文檔。 -h 的作用是指定容器的主機名。

      使用命令行創建一個新的容器:

      docker run -it --name jerry-container-test -h CONTAINER -v /data busybox /bin/sh

      名稱為jerry-container-test, 用-v創建了一個volume /data

      用一個實際例子理解Docker volume工作原理

      創建完畢之后,在容器里執行cd /data進入這個目錄,這個時候還是空的。

      docker ps查看容器狀態:

      現在我想知道主機上為了實現這個volume,使用了哪個internal目錄。

      用命令docker inspect jerry-container-test查看關鍵字"volumes":

      得到了容器里/data在主機上實現的目錄:

      /var/lib/docker/volumes/96aa969033ee7e6d7ff607a0a47de5a5866613a422518ed3f86fee6240bae8cc/_data

      現在我在主機上使用touch命令在這個目錄下直接創建一個文件:

      sudo touch /var/lib/docker/volumes/96aa969033ee7e6d7ff607a0a47de5a5866613a422518ed3f86fee6240bae8cc/_data/test.s

      現在切換到容器里,用ls也能看到直接在主機上用touch命令在internal folder里創建的文件了。

      要獲取更多Jerry的原創文章,請關注公眾號"汪子熙"。

      Docker 容器

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:信息系統項目文檔及其管理
      下一篇:常見的API接口管理工具
      相關文章
      亚洲.国产.欧美一区二区三区| 亚洲熟妇无码久久精品| 亚洲首页国产精品丝袜| 老司机亚洲精品影院| 亚洲天堂中文资源| 亚洲伊人久久大香线蕉苏妲己| 亚洲国产精品无码久久久蜜芽| 激情综合色五月丁香六月亚洲| 亚洲精品tv久久久久| 亚洲第一黄色网址| 亚洲国产成人久久综合一区77| 午夜亚洲av永久无码精品| 天堂亚洲免费视频| 亚洲国产一成久久精品国产成人综合| 自拍日韩亚洲一区在线| 在线观看亚洲AV日韩AV| 亚洲综合久久精品无码色欲| 亚洲日韩亚洲另类激情文学| 亚洲女女女同性video| 亚洲精品伦理熟女国产一区二区| 亚洲真人无码永久在线观看| 亚洲久热无码av中文字幕| 亚洲欧洲av综合色无码| 亚洲AV无码专区在线观看成人| 亚洲中文字幕无码一去台湾| 亚洲午夜福利在线视频| 亚洲s码欧洲m码吹潮| 亚洲精品99久久久久中文字幕| 久久综合亚洲色HEZYO国产| 亚洲国产精品无码久久久蜜芽| 亚洲AV第一页国产精品| 亚洲性色成人av天堂| 亚洲免费电影网站| 亚洲人AV在线无码影院观看| 久久亚洲欧美国产精品| 亚洲天堂在线视频| 亚洲AV本道一区二区三区四区| 亚洲成综合人影院在院播放| 久久乐国产综合亚洲精品| 久久久久亚洲精品无码网址色欲 | 亚洲av女电影网|