http://www.sohu.com/a/101016494_116235

一,先看docker镜像是如何构建和存储。

下面是ubuntu:15.04的镜像分层.一共是4层,每一层都由一些只读并且描绘系统区别的文件组成. 也可以使用命令  docker history ubuntu:15.04查看。

  

  Docker存储驱动的作用就是:将这些分层的镜像文件堆叠起来,并且提供统一的视图.使container的文件系统看上去和我们普通的文件系统没什么区别.

  当创建一个新的容器的时候,实际上是在镜像的分层上新添加了一层container layer(容器层).之后所有对容器产生的修改,实际都只影响这一层.

注意:

  容器层:读写层(可写层)

  镜像层:只读层

镜像与容器的一个主要区别就是,是否具有顶层的读写层(可写层).

对于一个容器的数据新增,修改,都存储在可写层.当你删除一个容器的时候,可写层也将被删除(注意:可写层与数据卷的区别).然而镜像层是保持不变的.

下图展示了,多个容器共享一个镜像.镜像层是只读层,不变的.多个容器层在同一个镜像层之上,并且相互独立,互相不影响.

   docker 存储驱动的职责就是将镜像层和可写容器层管理起来.不同的驱动实现管理的方式也不一致.

    实现容器与镜像管理的两个关键技术就是可堆叠的镜像层和copy-on-write (CoW,写时复制).

数据卷与存储驱动

当一个容器删除的时候,写入该容器的所有数据将被删除(除了保存在数据卷中的数据)

数据卷是挂载到容器的,docker宿主机上的一个目录或文件。对数据卷的文件读写是不受存储驱动控制的,接近于本地文件系统读写速度.可以挂载多个数据卷到一个容器.也可以多个容器共享一个或多个数据卷.

如图所示:一个docker宿主机运行2个容器。每个容器有自己的存储空间,存储于宿主机本地文件系统 /var/lib/docker/… 另外有一个共享的数据卷在 /data.挂载到两个容器内实现共享.

docker目前支持的存储驱动有:OverlayFS,AUFS,Btrfs,Device Mapper,VFS,ZFS。

docker的存储驱动目前并没有一个通用的,完美的,适用于所有环境的存储驱动.所以需要根据自己的环境来有所选择.

设置docker的存储驱动  :

最新文章

  1. React学习笔记-1-什么是react,react环境搭建以及第一个react实例
  2. 日志处理之logging模块
  3. Spring overview
  4. hdu 4358 Boring counting dfs序+莫队+离散化
  5. 边工作边刷题:70天一遍leetcode: day 85-4
  6. JMeter学习(十九)JMeter测试MongoDB
  7. 【LeetCode练习题】Reverse Linked List II
  8. 分享一些自己写的前端库,并骗骗 star(库都是在实际项目中大量运用过的)
  9. JavaEE开发之SpringBoot整合MyBatis以及Thymeleaf模板引擎
  10. [51nod1297]管理二叉树
  11. 算法面试题-leetcode学习之旅(一)
  12. Apache 跟踪用户会话
  13. win7经常出现“关闭xxxx前您必须关闭所有会话框”
  14. 在IDEA中编写Spark的WordCount程序
  15. Guava future
  16. Linux whereis命令详解
  17. Docker未启动错误:Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
  18. 判断TrueType字体
  19. Linux之开源软件移植
  20. Python for everyone chapter 1

热门文章

  1. 使用metaweblog API实现通用博客发布 之 API测试
  2. win7下python2.7安装 pip,setuptools的正确方法
  3. Java基础系列(37)- 数组下标越界及小结
  4. js中date类型的格式转化为yyyy-MM-dd HH:mm:ss的String类型
  5. Charles抓包工具过滤网络请求
  6. Python : TypeError: 'int' object is not iterable
  7. 如何从阿里云Code升级至云效Codeup
  8. 原生JS实现简单留言板功能
  9. ch_nginx.sh
  10. 初步认识HCIA,什么是计算机网络,拓扑,网络的发展,交换机,路由器,IP,光纤,带宽,广播,ARP......