镜像概述复习

  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. MySQL中的sleep函数介绍

    MySQL数据库中有一个不太常用但便于进行某些调试的函数:sleep(),今天我们就来介绍一下这个函数的用法. 首先,看看官网对于函数的定义: SLEEP(duration)Sleeps (pause ...

  2. php+mysql模糊查询功能

    一般模糊查询语句如下: SELECT 字段 FROM 表 WHERE 某字段 Like 条件 其中关于条件,SQL提供了四种匹配模式: 1,% :表示任意0个或多个字符.可匹配任意类型和长度的字符,有 ...

  3. WPF清爽酷炫的界面Mahapps.metro

    最近WPF项目中要求软件的风格要传统化一点,查阅了下资料发现了Mahapps.metro. 官网 http://mahapps.com/ 下面是官方的DOME,https://github.com/M ...

  4. C++ STL transform

    #include<iostream>#include<vector>#include <list>#include <algorithm>#includ ...

  5. git撤销某次提交

    1.查询提交记录.进入目录,查看某人在此目录下的commit: panxi@ww-bj-panxi MINGW64 [path]/Business (feature/v2.3) $ git log f ...

  6. 阿里云服务出现TCP连接快速增加尤其是NON_ESTABLISHED大量增加导致内存和CPU暴增系统无法使用的问题

    TCP状态转移要点TCP协议规定,对于已经建立的连接,网络双方要进行四次握手才能成功断开连接,如果缺少了其中某个步骤,将会使连接处于假死状态,连接本身占用的资源不 会被释放.网络服务器程序要同时管理大 ...

  7. pch文件的添加

    想说试了好久一直报错找不到文件,解决方法如下: 依次是:./项目名/文件夹名称/pch文件名

  8. 使用mybatis的resultMap进行复杂查询

        记录下mybatis的集合查询中碰到的问题 https://jaychang.iteye.com/blog/2357143   MyBatis ofType和javaType区别 https: ...

  9. Flutter 的异步机制Future

    Dart是一个单线程语言,可以理解成物理线路中的串联,当其遇到有延迟的运算(比如IO操作.延时执行)时,线程中按顺序执行的运算就会阻塞,用户就会感觉到卡顿,于是通常用异步处理来解决这个问题. Dart ...

  10. 分析UIS-RNN源代码的代码规范和风格

    结合工程实践选题相关的一套源代码,根据其编程语言或项目特点,分析其在源代码目录结构.文件名/类名/函数名/变量名等命名.接口定义规范和单元测试组织形式等方面的做法和特点: 列举哪些做法符合代码规范和风 ...