Docker 的分區(qū)掛載和數(shù)據(jù)卷

2018-07-26 17:36 更新

容器中的文件系統(tǒng)是獨立的, 一旦容器被刪除, 則文件系統(tǒng)也會被刪除. 如果想容器和實體機在文件系統(tǒng)層面打通, 可以把指定目錄掛載到容器當(dāng)中:

docker run -d -p 5000:22 -v /home/zys/temp:/root/volumn zys:common

使用 -v 參數(shù), 就可以把多個實體機目錄掛載到容器的文件系統(tǒng)中.

上面是直觀的目錄掛載. docker 還有自己的一個 數(shù)據(jù)卷 的概念. 它可以在容器中定義一些目錄, 這些目錄不使用層級的 AUFS 文件系統(tǒng), 并且這些目錄獨立于容器而存在:

docker run -d -p 5000:22 -v /root/a --name=test zys:common

這樣, 其 /root/a 目錄就是一個數(shù)據(jù)卷, 如果使用 docker inspect 查看容器, 可以看到類似下面的信息:

"Volumes": {
    "/root/a": "/var/lib/docker/vfs/dir/xxx"
},
"VolumesRW": {
    "/root/a": true
}

其它的容器可以重用這個數(shù)據(jù)卷:

docker run -d -p 5000:22 --volumes-from=test zys:common

這里的形式有些別扭啊, 數(shù)據(jù)卷本來是獨立于容器, 但是要想重用它, 又必須基于容器的名字.

當(dāng)所有容器被刪除后, 數(shù)據(jù)卷本身是還存在的, 但是這時好像沒辦法再去直接使用它了, 不過里面的數(shù)據(jù)你可以想辦法弄到容器里去再作下一步處理.


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號