一、docker存储资源类型

docker两种存储资源类型

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

二、data volume------数据卷

  Data Volume 本质上是 Docker Host 文件系统中的目录或文件,使用类似与 Linux 下对目录或者文件进行 mount 操作。数据卷可以在容器之间共享
和重用,对数据卷的更改会立马生效,对数据卷的更新不会影响镜像,卷会一直存在,直到没有容器使用。
  Data Volume的特点:
    1° Data Volume 是目录或文件,而非没有格式化的磁盘(块设备)

    2° 容器可以读写 volume 中的数据。

    3° volume 数据可以被永久的保存,即使使用它的容器已经销毁。

  Data Volume的使用

    1° 运行一个容器,并创建一个数据卷挂载到容器的目录上

利用 centos:7.0 的镜像运行一个容器,并在容器内创建一个数据卷挂载到容器的 /web 目录上
[root@localhost ~]# docker run -dti -v /web centos:latest /bin/bash
d4e002045c2bd022a826dbd2805b121dd43c41443d86eeb6515f616bf52c8549

    2° 运行一个容器,本地创建/date目录挂载到容器的/var/log/目录上

[root@localhost ~]# docker run -dti -v /data:/var/log centos:latest /bin/bash
25773c239584614e301644db01b7275377887c9bbefe8c54cf5cd6be2917ab54

三、DataVolumeDontainers --- 数据卷容器

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

  DataVolumeDontainers的使用:

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

--name 参数为容器指定名字方便记忆
[root@localhost ~]# docker run -dti -v /dbdata --name dbser centos:latest
82b264b29e56700afebaa7acec8c69309964f27dafd271454048b8b7a113720e

    2.其他容器使用--volume-from 去挂载dbdata容器中的/dbdata数据卷

创建db1和db2两个容器,并挂载/dbdata数据卷到本地
[root@localhost ~]# docker run -dti --volumes-from dbser --name db1 centos:latest
893450737adee5a2673feef72bf3239ff7b1b3cf1d284de098da405e8fe86e64
[root@localhost ~]# docker run -dti --volumes-from dbser --name db2 centos:latest
aff1e64343bf339b32c81c7b1ed3baef84a724b35faa160ea0a9d3a54ae65577

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

[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
aff1e64343bf centos:latest "/bin/bash" minutes ago Up minutes db2
893450737ade centos:latest "/bin/bash" minutes ago Up minutes db1
82b264b29e56 centos:latest "/bin/bash" minutes ago Up minutes dbser 在db2中创建jam文件,写入0330
[root@localhost ~]# docker exec -it aff1e64343bf /bin/bash
[root@aff1e64343bf dbdata]# echo "" >jam
[root@aff1e64343bf dbdata]# cat jam 在db1中查看是否存在jam文件
[root@localhost ~]# docker exec -it 893450737ade /bin/bash
[root@893450737ade /]# cd dbdata/
[root@893450737ade dbdata]# ls
jam
[root@893450737ade dbdata]# cat jam 在dbser中查看jam文件是否存在
[root@localhost ~]# docker exec -it 82b264b29e56 /bin/bash
[root@82b264b29e56 /]# ls
dbdata
[root@82b264b29e56 /]# cd dbdata/
[root@82b264b29e56 dbdata]# ls
jam
[root@82b264b29e56 dbdata]# cat jam

docker数据管理(2)的更多相关文章

  1. Docker数据管理(四)

    Docker数据管理 Docker数据分为两种: 数据卷 -v /data -v src:dst 数据卷容器 --volumes-from 数据卷 案例1:我们创建一个容器,起名叫nginx-volu ...

  2. Docker数据管理

    用户在使用Docker的过程中,往往需要能查看容器内应用产生的数据,或者需要把容器内的数据进行备份,甚至多个容器之间进行数据共享,这必然涉及到Docker的数据管理. 容器中管理数据主要有两种方式: ...

  3. Docker系统七:Docker数据管理

    Docker的数据管理 I. 基本概念 Docker容器一旦删除,其相关的rootf文件系统就会被删除,其容器内的数据将一并删除,为了保存相关数据,Docker提出了数据卷的概念. II. 数据卷 D ...

  4. Docker数据管理(五)

    一.什么是数据卷 生成环境中使用docker的过程中,往往需要对数据进行持久化,或者需要多个容器之间进行数据共享,这个就涉及到了容器数据管理 容器中管理数据主要有两种方式: 数据卷:容器内数据之间映射 ...

  5. Docker数据管理(数据卷&数据卷容器)

    生产环境中使用Docker的过程中,往往需要对数据进行持久化,或者需要在多个容器之间进行数据共享,这必然涉及容器的数据管理操作. 容器中管理数据主要有两种方式: 数据卷(Data Volumes):容 ...

  6. Docker实战(四)之Docker数据管理

    在生产环境中使用Docker的过程中,往往需要对数据进行持久化,或者需要在多个容器之间进行数据共享,这必然涉及到容器的数据管理操作. 容器中管理数据主要有两种形式: 数据卷:容器内数据直接映射到本地主 ...

  7. 【Docker】第五篇 Docker 数据管理

    一.基本介绍 数据管理的原因:Docker中的容器一旦删除,容器本身的rootfs文件系统就会被删除,容器中的所有数据就会被删除.为了对一些需要持久化的数据,不随容器删除而删除,所以我们可以通过多个容 ...

  8. <Docker学习>5. docker数据管理

    当我们创建了一个tomcat容器,如何简单部署一个web应用?如何将war包放入到容器中?也就是说怎么样把文件从宿主机中 "放入" 到容器中? docker cp命令可以将宿主机本 ...

  9. 六、【Docker笔记】Docker数据管理

    前几节我们介绍了Docker的基本使用和三大核心概念,那么我们在使用Docker的过程中,Docker中必然产生了大量的数据,对于这些数据我们需要查看或者对这些数据进行一个备份,也有可能容器之间的数据 ...

随机推荐

  1. 11_Hive TransForm 案例

    1.需求:将Json格式的数据处理后插入新表中 数据文件如下:rating.json,文件格式:{"movie":"2858","rate" ...

  2. Matlab---绘图中坐标系显示设置

    Matlab绘图---坐标系显示设置 [@wp20180507-20180511(week 5)] 目录: 一.设置坐标范围 二.修改坐标轴显示的刻度.密度.lable文字.位置等 三.Matlab绘 ...

  3. java8 常用语法小结

    // 判空 // 排序 //映射 //序列化

  4. centos7 nginx设置开启启动

    添加系统服务 在 /usr/lib/systemd/system 目录中添加 nginx.service,根据实际情况进行修改,详细解析可查看下方参考资料中的文章.内容如下 ?     [Unit] ...

  5. org.springframework.amqp.rabbit.listener.exception.ListenerExecutionFailedException

    org.springframework.amqp.rabbit.listener.exception.ListenerExecutionFailedException: Listener method ...

  6. 粗暴,干就完了----徐晓冬似的C语言自学笔记----前言

    10对年前就觉得C/C++语言很酷,第一印象就是90年代末,个人电脑在中华大地开始普及的岁月中,层出不穷的病毒,对了,全是C/C++写的:除了危及人民群众信息安全以外,C系列语言用途甚广,可以发明其他 ...

  7. python镜像

    国内镜像列表豆瓣: http://pypi.doubanio.com/simple清华: https://pypi.tuna.tsinghua.edu.cn/simple科大: https://mir ...

  8. Break 和 Continue 语句

    break 语句用于跳出循环. continue 用于跳过循环中的一个迭代. 1.break关键字可以用来退出switch或循环语句   不能在IF语句中使用break和continue 示例:在if ...

  9. WHU 583 Palindrome ( 回文自动机 && 本质不同的回文串的个数 )

    题目链接 题意 : 给你一个串.要你将其划分成两个串.使得左边的串的本质不同回文子串的个数是右边串的两倍.对于每一个这样子的划分.其对答案的贡献就是左边串的长度.现在要你找出所有这样子的划分.并将贡献 ...

  10. HGOI 20191101am 题解

    Problem A awesome 给出一个序列$A_i$,任取序列中三个数组成三元组$(a_i , a_j , a_k)$. 输出本质不同的且$abc \equiv 1 (mod  P)$且满足$a ...