镜像概述复习

  Docker镜像由多个只读层叠加而成,启动容器时,Docker会加载只读镜像层并在镜像栈顶部添加一个读写层

  如果运行中的容器修改了现有的一个已经存在的文件,那改文件将会从读写层下面的只读层复制到读写层,改文件的只读版本仍然存在,只是已经被读写层中改文件的副本所隐藏,此即 “写时复制(COW)” 机制

  因为直接写数据到容器里面有诸多限制,IO较差从而产生了存储卷。

Volumes存储

  docker存储卷默认使用容器所在的宿主机的目录

  使用Volumes的目的:关闭并重启容器,其数据不受影响;但删除Docker容器,则其变更改将会全部丢失。

  问题:存储于联合文件系统中,不易于宿主机访问;容器间数据共享不便;删除容器数据会丢失

解决方案: 卷(volumes)

  “卷” 是容器上的一个或多个“目录” 此类目录可让过联合文件系统,与宿主机上的某个目录“绑定”

volumes 类型:

  docker有两种类型的卷,每种类型都在容器中存在一个挂载点,但其在宿主机上的位置有所不同。

  绑定挂载卷:手动自定挂载点。

  docker管理卷:在容器类指定容器的挂载点,被绑定的是宿主机上的哪个目录,由容器引擎daemon自行创建。

在容器中使用Volumes

  docker管理卷:

  docker run命令使用-v选项即可使用Volume

  docker run -it -name box1 -v /data busybox

  docker inspect -f {{.Mounts}} box1   查看box1容器的卷、卷标识符及挂载的主机目录

  操作记录:

    docker run --name box5 -it --rm -v /data busybox   会立即在容器的跟目录下创建data  

  绑定卷:

  docker run -it -v HOSTDIR:VOLUMEDIR --name box2 busybox

  操作记录:

    docker run --name box5 -it --rm -v /data/volumes:/data busybox

复制使用其它容器的卷,为docker run命令使用 --volumes-from 选项

  docker run -it --name box5 -v /data/volumes:/data busybox

  docker run -it --name box6 --rm --volumes-from box5 busybox

docker 第五篇 存储的更多相关文章

  1. docker+k8s基础篇五

    Docker+K8s基础篇(五) service资源介绍 A:service资源的工作特性 service的使用 A:service字段介绍 B:ClusterIP的简单使用 C:NodePort的简 ...

  2. [转帖]Docker五种存储驱动原理及应用场景和性能测试对比

    Docker五种存储驱动原理及应用场景和性能测试对比 来源:http://dockone.io/article/1513 作者: 陈爱珍 布道师@七牛云   Docker最开始采用AUFS作为文件系统 ...

  3. docker从零开始 存储(五)存储驱动介绍

    关于存储驱动程序 要有效地使用存储驱动程序,了解Docker如何构建和存储镜像以及容器如何使用这些镜像非常重要.您可以使用此信息做出明智的选择,以确定从应用程序中保留数据的最佳方法,并避免在此过程中出 ...

  4. 跟我学SpringCloud | 第十五篇:微服务利剑之APM平台(一)Skywalking

    目录 SpringCloud系列教程 | 第十五篇:微服务利剑之APM平台(一)Skywalking 1. Skywalking概述 2. Skywalking主要功能 3. Skywalking主要 ...

  5. docker+k8s基础篇一

    Docker+K8s基础篇(一) docker的介绍 A:为什么是docker B:k8s介绍 docker的使用 A:docker的安装 B:docker的常用命令 C:docker容器的启动和操作 ...

  6. 【Python五篇慢慢弹】数据结构看python

    数据结构看python 作者:白宁超 2016年10月9日14:04:47 摘要:继<快速上手学python>一文之后,笔者又将python官方文档认真学习下.官方给出的pythondoc ...

  7. 【Python五篇慢慢弹(4)】模块异常谈python

    模块异常谈python 作者:白宁超 2016年10月10日12:08:31 摘要:继<快速上手学python>一文之后,笔者又将python官方文档认真学习下.官方给出的pythondo ...

  8. 【Python五篇慢慢弹(5)】类的继承案例解析,python相关知识延伸

    类的继承案例解析,python相关知识延伸 作者:白宁超 2016年10月10日22:36:57 摘要:继<快速上手学python>一文之后,笔者又将python官方文档认真学习下.官方给 ...

  9. 解剖SQLSERVER 第十五篇 SQLSERVER存储过程的源文本存放在哪里?(译)

    解剖SQLSERVER 第十五篇  SQLSERVER存储过程的源文本存放在哪里?(译) http://improve.dk/where-does-sql-server-store-the-sourc ...

随机推荐

  1. [转]用代码访问 Https

    可以参考: https://blog.csdn.net/irokay/article/details/78801307 跳过证书验证方法 HttpClient简介HTTP 协议可能是现在 Intern ...

  2. app怎么获取package与active name

    1.aapt dump badging apk名称 2.adb logcat | grep START 或者 adb shell "logcat | grep START" 然后在 ...

  3. SQL 里ESCAPE的用法

    TABLES:makt. SELECT SINGLE * FROM makt AND maktx LIKE '%/_' ESCAPE '/' . SQL中escape的用法使用 ESCAPE 关键字定 ...

  4. Redis CrackIT 入侵事件引发Linux 沦陷

    ▲针对全球6379端口的redis服务器做了扫描,结果如上图 如图开放在公网的redis的6379端口的ip总数有63443个.无密码认证的IP有43024个,在总数占比里达到67%.发现遭受到red ...

  5. php自定义错误处理函数

    function myErrorHandler($errno, $errstr, $errfile, $errline) { echo "<b>Custom error:< ...

  6. [转]将西部数据 My Passport Wireless 移动存储连接到任何支持的云存储上

    原文标题:对西部数据 My Passport Wireless 移动存储进行 Linux 魔改 原文链接:https://linux.cn/article-8246-1.html 虽然 WD My P ...

  7. Cache数据库新增用户并分配权限(Caché)

    1.通过浏览器登录管理中心,Caché自带的客户端工具是网页的,访问地址:     http://localhost:57772/csp/sys/UtilHome.csp 2.选择功能链接:系统管理- ...

  8. App唤起微信小程序和回调

    在同一开放平台账号下的移动应用及小程序无需关联即可完成跳转,非同一开放平台账号下的小程序需与移动应用(APP)成功关联后才支持跳转. 可在“管理中心-移动应用-应用详情-关联小程序信息”,为通过审核的 ...

  9. WePay-T

    (需先申请微信支付商户账号) 在微信支付中绑定appid,公众号和小程序都一样 微信支付中如下: 微信公众平台如下(公众号与小程序一样): 微擎配置微信支付 appid.appsecret为公众号中对 ...

  10. Ubuntu 18.04 更换阿里源

    1.备份 sudo cp /etc/apt/source.list /etc/apa/source.list.bak 2.编辑 sudo vim /etc/apt/source.list 3.修改内容 ...