容器中的文件系統(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ù)你可以想辦法弄到容器里去再作下一步處理.
更多建議: