存儲卷兩種類型:綁定掛載存儲卷 和 管理存儲卷 主要區別在於掛載在主機位置上的不一樣。管理存儲卷由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