一:数据卷

  1.什么是数据卷

    数据卷是通过特殊设计的目录,可以绕过联合文件系统,为一个或者多个容器提供服务,数据卷是在docker宿主机当中,数据卷可以是文件也可以是文件夹。

  2.特点

    1.数据卷在容器之间可以共享,容器间传递数据将变得高效方便。

    2.对数据卷内数据的修改会立马生效,无论是容器内操作还是本地操作。

    3.在于数据持久化,它完全独立于容器的生命周期。

    4.docker不会在容器删除时删除其挂载的数据卷。

    5.数据卷的变化不会影响镜像的更新。

    6.数据卷是在容器启动时初始化的,如果容器使用的镜像在挂载点包含了数据,这些数据会拷贝到新的初始化数据卷中去

  3.如何为容器添加数据卷

    使用-v标记也可以指定挂载一个本地的已有目录到容器中去作为数据卷。

      docker run -itd -v /app:/opt/webapp centos /bin/bash

    上面的命令加载主机的app目录到容器的/opt/webapp目录。

  4.如何为数据卷添加访问权限 

    docker run -itd -v /app:ro/opt/webapp centos /bin/bash

    加了:ro之后,容器内对所挂载数据卷内的数据就无法修改了。

二:数据卷容器

  1.什么是数据卷容器(是基于数据卷的,也就是说这个容器是专门负责数据卷的)

     命明的容器挂在数据卷,其他的容器通过挂载这个容器实现数据共享,挂载数据卷的容器就是数据卷容器。也就是说该容器专门负责其他容器挂载使用。

  2.创建步骤

    1.创建数据卷容器db    
      docker run -it -v /db:/db --name db centos
   2.创建db1和db2两个容器,并使用--volumes-from挂载dbdata容器中的数据卷
      docker run -it --volumes-from db --name db1 centos
      docker run -it --volumes-from db --name db2 centos
    这样在三个容器中任何一个操作,在其他的容器都是可以看得见的,如果我们把数据卷容器停止或者删除掉,挂载数据卷容器的容器依然可以使用数据卷,也就是说数据卷容器在使用过程只起到一个数据文件传输的作用。

三:备份和还原

备份:docker  run  --volumes-from  dvt5  -v  /backup1:/backup2:wr --name=dvt10  centos tar  cvf  /backup/dvt5.tar  /datavolume1(
这个容器的名字叫做dvt10,挂载在dvt5上,宿主机目录是backup1,容器中的目录是backup2,权限是读写权限,运行ubuntu系统,压缩之后的路径是/backup/dvt5.tar,/datavolume1是需要压缩备份的目录):
将一个包含数据卷的容器中的数据,通过一个容器执行一个压缩命令,从而将数据备份出来。
还原:$docker run --volumes-from [container name] -v $(pwd):/backup ubuntu tar xvf /backup/backup.tar [container data volume]

 

  

  

docker 数据卷和docker数据卷容器以及数据卷的备份和还原的更多相关文章

  1. 关于容器类型数据的强转一共:str() list() set() tuple() dict() 都可以转换成对应的数据类型 /Number 数据类型的强转一共: int() bool() flaot() complex() 都可以转换成对应的数据类型

    # ###强制转换成字典类型 # 多级容器数据:该类型是容器数据,并且里面的元素还是容器类型数据 # ###二级容器 # 二级列表 listvar = [1,3,4,5,[6,7,8,9]] res ...

  2. Docker 容器的数据卷

    数据卷的特点: 1. 数据卷在容器启动时初始化,如果容器使用的镜像在挂载点包含了数据,这些数据会拷贝到新初始化的数据卷中 2. 数据卷可以在容器之间共享和重用 3. 可以对数据卷里的内容直接进行修改 ...

  3. Docker容器的数据卷(data volume),数据卷容器,数据卷的备份和还原。

    Docker容器的数据卷(data volume),数据卷容器,数据卷的备份和还原. 数据卷就是数据(一个文件或者文件夹). Docker的理念之一是将应用与其运行的环境打包,docker容器的生命周 ...

  4. Docker学习笔记:镜像、容器、数据卷

    核心概念 镜像:一个只读的模板,类似虚拟机的镜像. 容器:可以理解为镜像的一个运行实例.运行时类似于沙箱,多个容器互相独立. 仓库:存放镜像文件的地方. 镜像 命令表格 命令 解释 选项 docker ...

  5. docker常用命令、镜像命令、容器命令、数据卷,使用dockerFile创建镜像,dockefile的语法规则。

    一.docker常用命令? 1. 常用帮助命令 1.1 docker的信息以及版本号 /* docker info 查看docker的信息 images2 docker本身就是一个镜像. docker ...

  6. 『现学现忘』Docker基础 — 28、Docker容器数据卷介绍

    目录 1.什么是Docker容器数据卷 2.数据卷的作用 3.数据卷的使用 1.什么是Docker容器数据卷 Docker容器数据卷,即Docker Volume(卷). 当Docker容器运行的时候 ...

  7. 『现学现忘』Docker基础 — 29、Docker容器数据卷的应用

    目录 1.验证容器和宿主机之间数据共享 2.容器停止退出后,主机修改后数据是否同步 3.带只读权限的挂载数据卷 1.验证容器和宿主机之间数据共享 通过上面的操作,接下来我们演示一下通过数据卷的挂载,实 ...

  8. 『现学现忘』Docker基础 — 33、Docker数据卷容器的说明与共享数据原理

    目录 1.数据卷容器的说明 2.数据卷容器共享数据原理 3.总结 4.练习:MySQL实现数据共享 1.数据卷容器的说明 (1)什么是数据卷容器 一个容器中已经创建好的数据卷,其它容器通过这个容器实现 ...

  9. Docker容器的数据卷

    一.数据卷概念 1.数据卷是宿主机中的一个目录或文件 2.当容器目录和数据卷目录绑定后,对方的修改会立即同步 3.一个数据卷可以被多个容器同时挂载 4.一个容器也可以挂载多个数据卷 简单理解:有点类似 ...

随机推荐

  1. AI应用开发实战 - 定制化视觉服务的使用

    AI应用开发实战 - 定制化视觉服务的使用 本篇教程的目标是学会使用定制化视觉服务,并能在UWP应用中集成定制化视觉服务模型. 前一篇:AI应用开发实战 - 手写识别应用入门 建议和反馈,请发送到 h ...

  2. 使用 Node.js 搭建 Web 服务器

    使用Node.js搭建Web服务器是学习Node.js比较全面的入门教程,因为实现Web服务器需要用到几个比较重要的模块:http模块.文件系统.url解析模块.路径解析模块.以及301重定向技术等, ...

  3. docker 备注

    1.docker 安装 #安装环境为centos yum -y install docker service docker start #测试是否安装成功,可执行命令 docker run hello ...

  4. 分布式锁实现秒杀 - 基于redis实现

    业务场景 所谓秒杀,从业务角度看,是短时间内多个用户“争抢”资源,这里的资源在大部分秒杀场景里是商品:将业务抽象,技术角度看,秒杀就是多个线程对资源进行操作,所以实现秒杀,就必须控制线程对资源的争抢, ...

  5. 音频处理贤内助--libsndfile

    libsndfile是由Erik de Castro Lopo写的的广泛用于读写音频文件的C语言库.它支持的音频格式十分广泛并且能够自动的从一种格式到另外一种格式.它极大的方便了开发者,可以让开发者忽 ...

  6. 记一次工作失误,openresty报502错误

    调试落地项目,代理跳转接口报502错误. 一开始认为阿里云tomcat有误,后面发现别的地址代理跳转有效. 开始配置跳转地址,一直折腾半天不好使.后面才知道,应用服务器和数据库服务器是分开部署的.一直 ...

  7. FloatingActionButtonDemo【悬浮按钮的使用,顺带snackBar的使用】

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 FloatingActionButton简称FAB. 一. 对于App或某个页面中是否要使用FloatingActionButton ...

  8. string类的几种方法

    string str="123abc456";int i=3;1 取字符串的前i个字符   str=str.Substring(0,i); // or  str=str.Remov ...

  9. .NET Core Session的简单使用

    前言 在之前的.NET 里,我们可以很容易的使用Session读取值.那今天我们来看看 如何在.NET Core中读取Session值呢? Session 使用Session之前,我们需要到Start ...

  10. 图解Go语言内存分配

    目录 基础概念 内存管理单元 内存管理组件 mcache mcentral mheap 内存分配流程 总结 参考资料 Go语言内置运行时(就是runtime),抛弃了传统的内存分配方式,改为自主管理. ...