在生产环境中使用 Docker,很多时候需要对数据进行持久化,或者进行容器间的数据共享。

容器中的管理数据主要有两种方式:

数据卷 (Data Volumes): 容器内数据直接映射到本地主机环境;

数据卷容器(Data Volume Containers): 使用特定容器维护数据卷。

那如何实现容器之间共享数据,并实现数据的备份和恢复。

数据卷:

  是一个可供容器使用的特殊目录,它将主机操作系统目录直接 映射进容器,类似于 Linux 中的 mount 操作。

  特点:

数据卷可以在容器之间共事和重用,容器间传递数据将变得高效与方便;
对数据卷内数据的修改会立马生效,无论是容器内操作还是本地操作;
对数据卷的更新不会影响镜像,解摘开应用和数据;
卷会一直存在 ,直到没有容器使用,可以安全地卸载它;

数据卷容器:  

  如果用户需要在多个容器之间共享一些持续更新的数据,最简单的方式是使用数据卷容器,数据卷容器也是一个容器,但是它的目的是专门提供数据卷给其他容器挂载。

docker run -v /datadb  --name datadb   busybox  sleep 

[root@master song]# docker exec  -t -i datadb  /bin/sh
/ # ls /datadb/
/ # [root@master song]#
[root@master song]# !ll
ll /var/lib/docker/volumes/
总用量
drwxr-xr-x root root 3月 : 1a84246c5775418fe13c0d19f30536bf23d7829e497985bba83d532ceb56a874
-rw------- root root 3月 : metadata.db
drwxr-xr-x root root 3月 : test

docker run --volumes-from db1 --name db2 --restart=always busybox
docker ps -a
docker run --volumes-from db2 --name db3 --restart=always busybox /bin/sh -c sleep 1000

备份:

  

. 备份 使用下面的命令来备份 dbdata 数据卷容器内的数据卷:
$ docker run -volumes-from dbdata -v $ (pwd) : /backup - -name worker ubuntu tar cvf /backup/backup.tar /dbdata
这个命令稍微有点复杂,具体分析下。 首先利用 ubuntu 镜像创建了一个容器 worker。 使用- -volumes-from dbdata 参数 来让 worker 容器挂载 dbdata 容器的数据卷(即 dbdata 数据卷);使用-v $ (pwd) : /backup 参数来挂载本地的当前目录到 worker 容器的/backup 目 录。 worker 容器启动后,使用 tar cvf /backup/backup.tar /dbdata 命令将/dbdata 下内容备份为容器内的/backup/backup. tar,即宿主主机当前目录下的 backup . tar。
. 恢复 如果要恢复数据到一个容器,可以按照下面的操作。 首先创建一个带有数据卷的容器 dbdata2:
$ docker run -v /dbdata --name dbdata2 ubuntu /bin/bash
然后创建另一个新的容器,挂载 dbdata2 的容器,并使用 untar 解压备份文件到所挂 载的容器卷中:
$docker run --volumes-from dbdata2 -v $(pwd) :/backup busybox tar xvf /backup/backup.tar

 

1.docker 数据卷的备份和恢复(非大数据量)的更多相关文章

  1. Docker数据卷容器备份、恢复

    1.备份数据卷容器 使用数据卷来备份数据,通过指定本地的一个文件路径,对应到容器中的路径,运行tar命令将重要的文件打包备份. $ cd /home/xm6f/dev $ docker run --v ...

  2. Docker 备份、恢复、迁移数据卷

    可以利用数据卷对其中的数据进行进行备份.恢复和迁移. 备份 首先使用 --volumes-from 标记来创建一个加载 dbdata 容器卷的容器,并从本地主机挂载当前到容器的 /backup 目录. ...

  3. 【Docker】利用数据卷容器来备份、恢复、迁移数据卷

    利用数据卷容器来备份.恢复.迁移数据卷 可以利用数据卷对其中的数据进行进行备份.恢复和迁移. 备份 首先使用 --volumes-from 标记来创建一个加载 dbdata 容器卷的容器,并从主机挂载 ...

  4. docker定义数据卷及数据卷的备份恢复

    前言:生产环境中使用docker时,往往需要对数据进行持久化(只有把容器导出为镜像,才能够保存写的数据,否则容器删除或者停止,所有数据都会没有),或者需要在多个容器之间进行数据共享,这必然涉及容器的数 ...

  5. docker 数据卷和docker数据卷容器以及数据卷的备份和还原

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

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

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

  7. 无忧之道:Docker中容器的备份、恢复和迁移

    原创:LCTT https://linux.cn/article-5967-1.html译者: GOLinux本文地址:https://linux.cn/article-5967-1.html 201 ...

  8. 孙荣辛|大数据穿针引线进阶必看——Google经典大数据知识

    大数据技术的发展是一个非常典型的技术工程的发展过程,荣辛通过对于谷歌经典论文的盘点,希望可以帮助工程师们看到技术的探索.选择过程,以及最终历史告诉我们什么是正确的选择. 何为大数据   "大 ...

  9. 一起来学大数据——走进Linux之门,学习大数据的重中之重

    昨天我们看了有关大数据Hadoop的一些知识点,但是要在学习大数据之前,我们还是要为大数据的环境做一些的部署. 那么,今天我们就来讲讲开启我们大数据之路的Linux,跟上我们的脚步yo~ Linux介 ...

随机推荐

  1. [MicroPython]TPYBoardv102自动浇花系统

    1.系统功能 监测土壤湿度.环境温度.光照强度 根据当前环境自动浇水,寒冷天气自动加热土壤 2.所需元器件 TPYBoard板子1块 光敏模块1块 DS18B20模块1块 土壤湿度检测模块1块 杜邦线 ...

  2. 一:Neutron实现网络虚拟化

    一 云计算时代数据中心物理网络的问题 数据中心虚拟化成为了趋势,最典型的场景莫过于:对数据中心的服务器进行虚拟化,来提高资源利用率,同时降低单位能耗. 但是,随着数据中心虚拟化程度的不断提高.虚拟化服 ...

  3. day92之支付宝支付

    Python之支付宝支付 正式环境:用营业执照,申请商户号,appid 基于支付宝的测试环境:https://openhome.alipay.com/platform/appDaily.htm?tab ...

  4. Android 读取后台数据并显示。模拟小区车辆管理系统

    帮别人做的演示系统,只具有基本的增删查改功能. 核心是android端和后台通过http传输数据 后台是asp.net,数据库是ms sql 2008 android端 private void ge ...

  5. 搭建SpringBoot+dubbo+zookeeper+maven框架(三)

    今天我们要在原来搭建的框架基础上集成redis数据库. redis是Nosql数据库中使用较为广泛的非关系型内存数据库,redis内部是一个key-value存储系统.它支持存储的value类型相对更 ...

  6. ASP.Net Core 中使用Zookeeper搭建分布式环境中的配置中心系列一:使用Zookeeper.Net组件演示基本的操作

    前言:马上要过年了,祝大家新年快乐!在过年回家前分享一篇关于Zookeeper的文章,我们都知道现在微服务盛行,大数据.分布式系统中经常会使用到Zookeeper,它是微服务.分布式系统中必不可少的分 ...

  7. python2中reload(sys)后设置编码

    python在安装时,默认的编码是ascii,当程序中出现非ascii编码时,python的处理常常会报这样的错UnicodeDecodeError: 'ascii' codec can't deco ...

  8. 广州商学院16级软工一班&二班-第一次作业成绩

    广州商学院16级软工一班&二班-第一次作业成绩 作业地址 16软工一班 16软工二班 总结 本次作业反映了几个比较严重的问题: 不按要求阅读相应的文章,回答问题只是敷衍几句. 部分同学的版式混 ...

  9. Array Queries CodeForces - 797E

    题目链接 非常好的一道题目, 分析,如果用暴力的话,时间复杂度是O(q*n)稳稳的超时 如果用二维DP的话,需要O (n*n)的空间复杂度,会爆空间. 那么分析一下,如果k>sqrt(n)的话, ...

  10. elasticsearch聚合操作——本质就是针对搜索后的结果使用桶bucket(允许嵌套)进行group by,统计下分组结果,包括min/max/avg

    分析 Elasticsearch有一个功能叫做聚合(aggregations),它允许你在数据上生成复杂的分析统计.它很像SQL中的GROUP BY但是功能更强大. 举个例子,让我们找到所有职员中最大 ...