一、docker存储资源类型

  用户在使用 Docker 的过程中,势必需要查看容器内应用产生的数据,或者需要将容器内数据进行备份,甚至多个容器之间进行数据共享,这必然会涉及到容器的数据管理

(1)Data Volume (数据卷)

(2)Data Volume Dontainers --- 数据卷容器

  数据卷 是一个可供一个或多个容器使用的特殊目录,实现让容器中的一个目录和宿主机中的一个文件或者目录进行绑定。数据卷 是被设计用来持久化数据的
对于数据卷你可以理解为NFS中的哪个分享出来的挂载点,指宿主机共享的目录。
主要有如下的功能和特性:
1. 容器中数据的持久存储
2. 容器间的资源共享
3. 容器的迁移(分布式)
4. 对数据卷的修改会立马生效
5. 对数据卷的更新,不会影响镜像
6. 数据卷默认会一直存在,即使容器被删除 (注意docker自主管理的会被删除,容器删除前一定要对数据卷进行备份)

二、Data Volume --- 数据卷

  Data Volume 本质上是 Docker Host 文件系统中的目录或文件,使用类似与 Linux 下对目录或者文件进行 mount 操作。数据卷可以在容器之间共享和重用,对数据卷的更改会立马生效,对数据卷的更新不会影响镜像,卷会一直存在,直到没有容器使用

Data Volume 有以下特点:

  a)Data Volume 是目录或文件,而非没有格式化的磁盘(块设备)。
  b)容器可以读写 volume 中的数据。
  c)volume 数据可以被永久的保存,即使使用它的容器已经销毁。

Data Volume的使用:

  通过-v 参数格式为 <host path>:<container path>

1、第一种:运行一个容器,并创建一个数据卷挂载到容器的目录上(Docker Management Volume)

docker run -dti -v /web centos:7.0 /bin/bash

  利用 centos:7.0 的镜像运行一个容器,并在容器内创建一个数据卷 /web 挂载到宿主机随机的目录上

  例子:

[root@ren7 ~]# docker run -it --name ren1 --rm -v /data/ centos:latest
[root@00a81c3111a8 /]# ls  #自动创建/data目录
bin dev home lib64 media opt root sbin sys usr
data etc lib lost+found mnt proc run srv tmp var
[root@ren7 ~]# docker inspect ren1 |grep Source  #查看挂载点
"Source": "/var/lib/docker/volumes/ff992d97419a8e44eced524792f0dc51c635e280ddf87bfa02e7b755a9358764/_data",

2、第二种:运行一个容器,本地创建/date目录挂载到容器的/var/log/目录上(Bind Mount Volume)

docker run -dti -v /data:/var/log centos:7.0 /bin/bash

三、DataVolumeDontainers --- 数据卷容器

  如果用户需要在容器之间共享一些持续更新的数据,最简单的方法就是使用数据卷容器,其实数据卷容器就是一个普通的容器,只不过是专门用它提供数据卷供其他容器挂载使用

Data Volume Dontainers使用:

(1)创建一个名为 dbdata 的数据卷,并在其中创建一个数据卷挂载到 /dbdata

docker run -dti -v /dbdata --name dbser centos:7.0

  --name 参数是 给容器指定名字为dbser方便记忆

(2)其他容器使用--volume-from 去挂载dbdata容器中的/dbdata数据卷
  创建 db1&db2 两个容器, 并挂载 /dbdata 数据卷到本地

docker run -dti --volumes-from dbser --name db1 centos:7.0
docker run -dti --volumes-from dbser --name db2 centos:7.0

  此时,容器 db1 和 db2 同时挂载了同一个数据卷到本地相同 /dbdata
目录。三个容器任何一个目录下的写入,都可以时时同步到另外两个

  这样可以实现了多台容器之间以及和多台容器和宿主机之间的文件共享。

Docker存储(4)的更多相关文章

  1. 理解Docker(8):Docker 存储之卷(Volume)

    (1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 Linux namespace 隔离容器的运行环境 (4)Docker 容器的隔离性 - 使用 ...

  2. 理解Docker(7):Docker 存储 - AUFS

    (1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 Linux namespace 隔离容器的运行环境 (4)Docker 容器的隔离性 - 使用 ...

  3. Docker存储驱动之OverlayFS简介

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

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

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

  5. Docker存储驱动之总览

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

  6. Docker存储

    前言 上一篇文章中简单总结了一下docke的基础使用方法,这次我来总结一下有关docker存储方面的相关知识.本文同样建立在CloudMan的系列教程之上,有兴趣的可以直接移步. 有些人可能觉得这个很 ...

  7. Docker系列05—Docker 存储卷详解

    本文收录在容器技术学习系列文章总目录 1.存储卷介绍 1.1 背景 (1)docker 的 AFUS 分层文件系统 docker镜像由多个只读层叠加面成,启动容器时,docker会加载只读镜像层并在镜 ...

  8. 6、Docker存储卷

    Why Data Volumes?  来自马哥教育 Data volumes Volume types  绑定挂载卷:在宿主机和容器上各指明绑定路径才能进行绑定. docker管理卷:在容器内指定挂载 ...

  9. Docker存储卷(V18.X)

    简介 介绍 Docker的存储卷称之为volume,本质上容器上的一个或者多个目录,而这些目录绕过了联合文件系统,与宿主机中的目录或者其他容器目录进行了绑定关系,这种绑定关系可以看作Linux的mou ...

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

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

随机推荐

  1. 【设计模式】- 生成器模式(Builder)

    生成器模式 建造者模式.Builder 生成器模式 也叫建造者模式,可以理解成可以分步骤创建一个复杂的对象.在该模式中允许你使用相同的创建代码生成不同类型和形式的对象. 生成器的结构模式 生成器(Bu ...

  2. Dynamics CRM产生公共签名,避免每次插件换环境重新输入签名密钥账号密码

    在Dynamcs CRM项目维护交接过程中,我们经常会使用其他合作者的插件代码.但是每次拿到别人代码编译的时候插件密钥都要重新输入密钥的账号密码.而且如果密钥都是的话比较麻烦.所以这里就针对这个问题做 ...

  3. Python 多线程(一)

    Python多线程(一) 目录 Python多线程(一) 线程 Python线程模型 Python虚拟机按照下面所述方式来切换线程 Threading模块 未引进线程 结果 引入线程 方式一:创建Th ...

  4. 『动善时』JMeter基础 — 3、JMeter插件管理

    JMeter是一个Java开发的开源软件,开源的软件有一个好处,就是会有很多第三方开发出来的插件,使得JMeter在处理某一些功能的时候更加的方便.并且这些插件拿过来就可以使用,完全免费的. 我们安装 ...

  5. 洛谷P1424 小鱼的航程(改进版)

    题目背景 原来的题目太简单,现改进让小鱼周末也休息,请已经做过重做该题. 题目描述 有一只小鱼,它上午游泳150公里,下午游泳100公里,晚上和周末都休息(实行双休日),假设从周x(1<=x&l ...

  6. hdu 5063 不错的小想法题(逆向处理操作)

    题意:       刚开始的时候给你一个序列,长度为n,分别为a[1]=1,a[2]=2,a[3]=3,a[4]=4...a[n]=n,然后有4种操作如下: Type1: O 1 call fun1( ...

  7. Python脚本抓取京东手机的配置信息

    以下代码是使用python抓取京东小米8手机的配置信息 首先找到小米8商品的链接:https://item.jd.com/7437788.html 然后找到其配置信息的标签,我们找到其配置信息的标签为 ...

  8. markdown 实现代码折叠效果

    展开:我是一个挑山工,仙人跳 #include int main() { printf("挑山工,快乐加倍"); } 展开:我是一个挑山工,仙人跳 #include int mai ...

  9. Node-Web模块

    创建服务端------------------------------------------------------ var http = require('http'); var fs = req ...

  10. CTF密码学常见加解密总结

    CTF密码学常见加解密总结 2018年03月10日 19:35:06 adversity` 本文链接:https://blog.csdn.net/qq_40836553/article/details ...