overlay和overlay2的区别

参考:http://blog.csdn.net/styshoo/article/details/60715942

docker pull ubuntu

本质区别是镜像层之间共享数据的方法不同

overlay共享数据方式是通过硬连接

而overlay2是通过每层的 lower文件

root@no1:/var/lib/docker/overlay2# ll
total 32K
drwx------ 3 root root 4.0K 2017-12-13 22:03:57.063074124 -0800 a6350774f0c5a4c89f850252180930a48ae28ca37c33ac3a2ba39585bb3c2c42/
drwx------ 5 root root 4.0K 2017-12-13 22:04:00.471007047 -0800 43a794c7d4fc61414cceedb2914026f09c9228397a885fb2d040278d6a1b5856/
drwx------ 5 root root 4.0K 2017-12-13 22:04:00.511006259 -0800 33a4e0217cb0342f024ee2f093ab7188433b2b231c75999848bd2d36eb501255/
drwx------ 5 root root 4.0K 2017-12-13 22:04:00.539005708 -0800 b3db2d8f59e546b4978148f032e563157310b0455f6c6bab144f6ae6a279986d/
drwx------ 5 root root 4.0K 2017-12-13 22:04:00.567005157 -0800 e46f69d82b2b77d04b095279e173f4f51fb10c7b3a0c27fa688bb52b74fe0b7f/
drwx------ 2 root root 4.0K 2017-12-13 22:23:26.699634959 -0800 l/

查看第一层 第二层 第三层目录结构

root@no1:/var/lib/docker/overlay2# ll a6350774f0c5a4c89f850252180930a48ae28ca37c33ac3a2ba39585bb3c2c42/
total 8.0K
-rw-r--r-- 1 root root 26 2017-12-13 22:03:57.063074124 -0800 link
drwxr-xr-x 21 root root 4.0K 2017-12-13 22:03:59.027035468 -0800 diff/ ##挂载点
root@no1:/var/lib/docker/overlay2# ll 43a794c7d4fc61414cceedb2914026f09c9228397a885fb2d040278d6a1b5856/
total 20K
drwx------ 2 root root 4.0K 2017-12-13 22:04:00.471007047 -0800 work/
drwx------ 2 root root 4.0K 2017-12-13 22:04:00.471007047 -0800 merged/
-rw-r--r-- 1 root root 28 2017-12-13 22:04:00.471007047 -0800 lower
-rw-r--r-- 1 root root 26 2017-12-13 22:04:00.471007047 -0800 link
drwxr-xr-x 6 root root 4.0K 2017-12-13 22:04:00.503006417 -0800 diff/ root@no1:/var/lib/docker/overlay2# ll 33a4e0217cb0342f024ee2f093ab7188433b2b231c75999848bd2d36eb501255/
total 20K
drwx------ 2 root root 4.0K 2017-12-13 22:04:00.511006259 -0800 work/
drwx------ 2 root root 4.0K 2017-12-13 22:04:00.511006259 -0800 merged/
-rw-r--r-- 1 root root 57 2017-12-13 22:04:00.511006259 -0800 lower
-rw-r--r-- 1 root root 26 2017-12-13 22:04:00.511006259 -0800 link
drwxr-xr-x 3 root root 4.0K 2017-12-13 22:04:00.531005866 -0800 diff/

在看看第二层和第三层的lower文件-逐递加

root@no1:/var/lib/docker/overlay2#
root@no1:/var/lib/docker/overlay2# cat a6350774f0c5a4c89f850252180930a48ae28ca37c33ac3a2ba39585bb3c2c42/l^C
root@no1:/var/lib/docker/overlay2# cat 43a794c7d4fc61414cceedb2914026f09c9228397a885fb2d040278d6a1b5856/lower
l/UZH33GFG3GMRJCYLAIHJQKEUIN
root@no1:/var/lib/docker/overlay2# cat 33a4e0217cb0342f024ee2f093ab7188433b2b231c75999848bd2d36eb501255/lower
l/QQIYMV3GOYXUTDN6GAAKSM7ZFL:l/UZH33GFG3GMRJCYLAIHJQKEUIN

测试:

Ubuntu16安装的docker



另一台是centos7上安装的docker

观察挂载

lowerdir
upperdir
workdir 查看挂载方式
mount|grep overlay overlay: 只挂载一层,其他层通过最高层通过硬连接形式共享(增加了磁盘inode的负担)
/var/lib/docker/overlay/ae6ca8bdaf74720c26b4d780d0c7837e487505c410efb5b9d891bb78796e8e0f/merged type overlay
(rw,relatime,
lowerdir=/var/lib/docker/overlay/632707d3098b737da98ada134fb2cdb8c18c6492dabc9fabbc08e664afc23b8e/root,
upperdir=/var/lib/docker/overlay/ae6ca8bdaf74720c26b4d780d0c7837e487505c410efb5b9d891bb78796e8e0f/upper,
workdir=/var/lib/docker/overlay/ae6ca8bdaf74720c26b4d780d0c7837e487505c410efb5b9d891bb78796e8e0f/work) overlay2: 逐层挂载
(rw,relatime,
lowerdir=/var/lib/docker/overlay2/l/AQLAUEDWASUZFK6WMTNMV67AEF:/var/lib/docker/overlay2/l/KWJWIYWDTPZCGVRASSRIVREKMN:/var/lib/docker/overlay2/l/ZYQCFR4K5ZI5GDFJXHINZJTNF2:/var/lib/docker/overlay2/l/EY6ZNSFU3IGYHG3ALKBRVDWMX2:/var/lib/docker/overlay2/l/QQIYMV3GOYXUTDN6GAAKSM7ZFL:/var/lib/docker/overlay2/l/UZH33GFG3GMRJCYLAIHJQKEUIN,
upperdir=/var/lib/docker/overlay2/2d3b5711d26366b06283c1e8632d5065b9b6ba2e027b7cdd351a2d89b3810dfd/diff,
workdir=/var/lib/docker/overlay2/2d3b5711d26366b06283c1e8632d5065b9b6ba2e027b7cdd351a2d89b3810dfd/work)

[docker]存储驱动overlay和overlay2的区别的更多相关文章

  1. Docker存储驱动Device Mapper,Overlay,AUFS

    Docker存储驱动之Device Mapper简介 - BookShu - 博客园https://www.cnblogs.com/styshoo/p/6528762.html Docker存储驱动之 ...

  2. Docker存储驱动之OverlayFS简介

    简介 OverlayFS是一种和AUFS很类似的文件系统,与AUFS相比,OverlayFS有以下特性: 1) 更简单地设计: 2) 从3.18开始,就进入了Linux内核主线: 3) 可能更快一些. ...

  3. Docker存储驱动之总览

    简介 本文会介绍Docker存储驱动的特性,别列出现在已经支持的存储驱动,最后,会介绍如果选型适合你的存储驱动. 可插拔的存储驱动架构 Docker的存储驱动架构是可插拔的,可以让你很方便的将适合你环 ...

  4. 聊一聊docker存储驱动

    目录 镜像的分层特性 容器读写层的工作原理 写时复制 用时配置 Docker存储驱动 AUFS OverlayFS Devicemapper 常用存储驱动对比 AUFS VS OverlayFS Ov ...

  5. overlay和overlay2的区别

    docker作为一个容器平台,它有一套自己的存储系统.它支持的driver有overlay,overlay2, aufs等等. 这篇文章主要分析overlay和overlay2的区别. overlay ...

  6. DOCKER学习_006:Docker存储驱动

    一 镜像的分层特性 在说docker的文件系统之前,我们需要先想清楚一个问题.我们知道docker的启动是依赖于image,docker在启动之前,需要先拉取image,然后启动.多个容器可以使用同一 ...

  7. Docker存储驱动之Device Mapper简介

    Device Mapper是一个基于kernel的框架,它增强了很多Linux上的高级卷管理技术.Docker的devicemapper驱动在镜像和容器管理上,利用了该框架的超配和快照功能.为了区别, ...

  8. docker 存储驱动(storage driver)知识总结

    http://www.sohu.com/a/101016494_116235 一,先看docker镜像是如何构建和存储. 下面是ubuntu:15.04的镜像分层.一共是4层,每一层都由一些只读并且描 ...

  9. 有容云-【原理】Docker存储驱动之AUFS

    编者按:今天聊一聊Docker的Image(镜像)与Container(容器)的存储以及存储驱动之AUFS.   Docker存储驱动简介 Docker内置多种存储驱动,每种存储驱动都是基于Linux ...

随机推荐

  1. 夏书祥-苹果iPhone多开

    微信多开:就是在手机上开多个微信应用,比方同一时候打开3个微信软件. 安卓微信多开下载地址:http://yunpan.cn/cZBvE42E7qQkf  訪问password 8509 苹果微信多开 ...

  2. lua学习:lua中“类”的实现

    在之前的面试遇到考用lua实现类的题目.现在就补补这块知识点. 我们都知道Lua中的table是一个对象.拥有状态,拥有self,拥有独立于创建者和创建地的生命周期. 一个类就是一个创建对象的模具.L ...

  3. opencv CxImage 互转 (Mat)

    //to Mat CxImage img; img.Load("C:\\f.jpg"); uint8_t* buf=NULL; int32_t len=0; bool rs =im ...

  4. jquery empty()方法

    empty() 方法从被选元素移除所有内容,包括所有文本和子节点. $(selector).empty() <html> <head> <script type=&quo ...

  5. 要做的题目-要用到hadoop资源

    关于项目,我出两个练手题目: 一.多机数据处理.有 10 台机器,每台机器上保存着 10 亿个 64-bit 整数(不一定刚好 10 亿个,可能有上下几千万的浮动),一共约 100 亿个整数(其实一共 ...

  6. 初见-TensorRT简介<转>

    下面是TensorRT的介绍,也可以参考官方文档,更权威一些:https://developer.nvidia.com/tensorrt 关于TensorRT首先要清楚以下几点: 1. TensorR ...

  7. 进度对话框 ProgressDialog 用法总结

    ProgressDialog 继承自AlertDialog,AlertDialog继承自Dialog );         dialog.setButton(DialogInterface.BUTTO ...

  8. Android之旅 自我图示总结四大组件

    最近学完了Android的四大组件的基础知识,自己总结了一个图示,希望自己看到这个图的时候能回忆起相关的知识点,与大家分享!

  9. 配置文件格式用哪个?文件夹+纯文本文件,XML,SQLite

    稍具规模的软件都会须要一个配置文件来支持软件的执行.眼下常见的配置文件格式有纯文本.XML.SQLite.自己定义二进制格式,怎样进行选择呢? 1 纯文本--永远不会失效的文件格式 文本化是传统Uni ...

  10. Android 自己主动化測试(3)&lt;monkeyrunner&gt; 依据ID查找对象&amp;touch&amp;type (python)

    我在之前的两篇文章中用java来实现过 Android 自己主动化測试(1)怎样安装和卸载一个应用(java).Android 自己主动化測试(2)依据ID查找对象(java). 可是本质上都是用mo ...