- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Docker文件系统的分层与隔离
M老师:Docker 的很多特性都表现在它所使用的文件系统上,比如大家都知道docker的文件系统是分层的,所以它可以快速迭代,可以回滚。这个回滚机制跟github很像,每次提交的时候都会有一个id, 回滚就是跟据这个id来操作的。
M老师:Docker所支持的文件系统有以下几种:Aufs、devicemapper、btrfs和Vfs,其中前三种是联合文件系统,可以支持分层,VFS 不支持。平时用的最多的是aufs 和devicemapper。
M老师:先介绍一下Aufs,Aufs(advanced multi layered unification filesystem), 直译过来就是高级分层联合文件系统,做为一种Union FS ,它支持将不同的目录挂载到同一个虚拟文件系统下。
M老师:这个怎么理解呢,通过一条命令我们来看一下:
mount -t aufs -o br=/tmp/dir1=ro:/tmp/dir2=rw none /tmp/newfs
M老师:大家有条件的可以一起做下实验,方便理解,-o 指定mount传递给文件系统的参数;br 指定需要挂载的文件夹,这里包括dir1和dir2;ro/rw 指定文件的权限只读和可读写;none 这里是挂载的设备,而没有设备用none表示。
M老师:为什么要有只读和可读写两种呢,因为docker在启动容器的时候就会用到这两种,而上面这个例子是模拟这个docker文件系统模型。
问:启动docker的时候,对硬盘使用只读,意义在于什么?
答:这个问题很好,一个image可以启动多个container,这时候会有一个问题,如果每个container对大家共有的部分都有可写的权限,就会出问题。所以docker启动的时候会加载镜像的文件系统那层是只读的,,然后每个contianer 获取自己的可读写的层,如果container要修改只读层的文件,那么该文件就会从只读层提取到读写层。只读层的文件就被读写层的文件覆盖了,但只读层的那个文件依然存在 这个就实现了文件系统上的隔离。
问:就像我们写程序抵触共享的东西不变,只是利用这个共性来底层共享?
答:是的。
问:加那个none是干什么用的?
答:none 这里没有设备,用none表示,其实是没有意义的。但命令要求要有一个设备,这条命令中设备是none
问:这个命令是在容器里执行的吗?还是在宿主机?
答:容器。
M老师:继续咱们的分享,刚才实验的结果是什么样子呢,就是把/tmp/dir1和/tmp/dir2 合并之后挂载到/tmp/newfs,如果这时在/tmp/dir1 下创建一个文件a,/tmp/dir2下创建一个文件b 则 在/tmp/newfs 会看到a,b 这两个文件,这就是联合,并且a文件是只读的。
M老师:如果有相同的文件则以先挂载的为准,后面挂载的操作会被忽略掉。大家可以想像一下,我每做一次操作都相当于去挂载一个新的目录,这样所有的操作就保存下来了。当然实际情况并不是每次操作都去挂载。当container 发生改变的时候,并且我提交commit 才会重新挂载一层。
问:比如mkdir test 这也算是重新挂载了一层?
答:docker有一个命令docker commit,执行这个的时候会。
M老师: 可能还会有一些不理解,下面用实际的docker 镜像来举个例子。大家启动一个container 之后,执行 docker save,可以把container保存成镜像。
例如:
docker save
cloud_jiankongbao:01.tar
cloud_jiankongbao:01
其中cloud_jiankongbao:01.tar是镜像的名字,后面的cloud_jiankongbao:01是这个container的ID,可以看到,保存下来的是tar 包。 不是.iso文件^_^
M老师:镜像解压之后是什么呢,我们来看一下:
ls .
a005304e4e74c1541988d3d1abb170e338c1d45daee7151f8e82f8460634d329
d9bde94c518a16a886514758b6b4431200145ecd58e30c5633ac3c0256544d77
f1b10cd842498c23d206ee0cbeaa9de8d2ae09ff3c7af2723a9e337a6965d639
fb9cc58bde0c0a8fe53e6fdd238982d7869d939d7364f5777fde6f
里面有四个目录,其实分别是4个docker的ID,每次使用docker commit 提交对docker的修改之后就会产生
您可能关注的文档
- 切顶卸压自动成巷及回撤通道切顶卸压总结.docx
- 热寒辩证及常见贴敷穴位.docx
- 人体稳态的调节知识点总结.docx
- 人物与环境课件.ppt
- 人与环境复习课件.ppt
- 认识Mask以及其制作流程.ppt
- 如何在lingo中使用集合.doc
- 如何做好队伍管理工作.ppt
- 如何做好一名年轻的护士长.ppt
- 三极管的基本放大电路分析45115.ppt
- 山东高校教师资格证考试(综合)模拟题4.docx
- 苏教版数学三年级上册《间隔排列》.docx
- 2024(新插图)人教版三年级数学下册 练习十三-课件.pptx
- 2024(新插图)人教版六年级数学上册 综合与实践 确定起跑线[001]-课件.pptx
- 2024(新插图)人教版四年级数学上册 练习二十[001]-课件.pptx
- (新插图)人教版一年级数学上册第1课时 数一数-课件.pptx
- 2024(新插图)人教版一年级数学上册练习九[002]-课件.pptx
- 2024(新插图)人教版一年级数学上册第4课时 解决问题(1)[001]-课件.pptx
- 2024(新插图)人教版三年级数学上册 练习八[001]-课件.pptx
- 2024(新插图)人教版三年级数学下册 第2课时 三位数除以一位数(商是三位数)-课件.pptx
文档评论(0)