docker - 存儲卷

存儲卷兩種類型:綁定掛載存儲卷 和 管理存儲卷 主要區別在於掛載在主機位置上的不一樣。管理存儲卷由docker 守護進程控制位置,被稱爲docker 空間docker

綁定掛載存儲卷spa

使用: -v 或 --volume    格式:   -v <主機文件系統的絕對路徑>:<容器文件系統的絕對路徑>  
1. 它取代了鏡像在該位置提供的內容,即主機的內容將覆蓋容器中的內容。
2. 若是你指定了一個不存在的主機目錄,那麼docker 會爲你建立相應目錄,
3. 若是要想綁定單個文件,文件必須在建立容器以前就存在於主機上,不然docker 會建立目錄
4. 主機文件目錄容許被多個容器綁定。可能會形成資源的競爭,致使問題發生

只讀卷能夠避免容器內的任何進程修改該卷的內容。如: -v /data/my.conf:/data/my.conf:ro 繼承

 

管理存儲卷生命週期

docker 守護程序會在主機文件系統中建立,並由docker 管理,這是一種在文件系統特定位置解耦卷的方法。
使用: -v 或 --volume    格式:   -v <容器文件系統的絕對路徑>
1. 當建立了容器時,docker 守護程序在主機文件系統中建立了目錄,能夠使用 docker inspect 查看 volumes 
2.  進程

 

繼承存儲卷的定義資源

 docker rund -d \
   --volumes-from zookeeper1 \
  --volumes-from zookeeper2 \
   --name zookeeper3  \
   zookeeper:1.2.3
容器

可將卷從一個或多個容器複製至新的容器中, 這樣複製的卷始終具備相同的掛載點。
1. 若是一個或多個源建立的管理卷具備相同的掛載點,將只能接收其中之一。
2.不能更改卷的寫權限
3.若是你構建的容器須要共享捲到不一樣的位置,你不能使用 --volumes-fromzookeeper

 

管理存儲卷的生命週期權限

1. docker 守護程序沒法刪除綁定掛載卷,
2. 刪除容器時 加個 -v 就能夠刪除 管理存儲卷 如: docker rm -v zookeeper
3. 若是刪除容器時沒有使用 -v 就會產生孤立卷,這時孤立卷只能手動清空了
 程序

卷容器模式

 

 

 

/run/docker

/var/lib/docker

/etc/docker

/usr/bin/docker

相關文章
相關標籤/搜索