在生产环境中使用 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. bootstrapvalidator 用法

    1.引入js.css 2.用法 API:http://bootstrapvalidator.votintsev.ru/api/ 参考博客:https://blog.csdn.net/u01393846 ...

  2. 开源Dapper的Lambda扩展-Sikiro.Dapper.Extension V2.0

    前言 去年我在业余时间,自己整了一套dapper的lambda表达式的封装,原本是作为了一个个人的娱乐项目,当时也只支持了Sql Server数据库.随之开源后,有不少朋友也对此做了试用,也对我这个项 ...

  3. 深入理解Redis的持久化

    RDB RDB是将当前数据生成快照保存到硬盘上. RDB的工作流程: 1. 执行bgsave命令,Redis父进程判断当前是否存在正在执行的子进程,如RDB/AOF子进程,如果存在bgsave命令直接 ...

  4. Docker 最佳入门

    https://www.cnblogs.com/lanxiaoke/p/10432631.html https://www.cnblogs.com/viter/p/10463907.html http ...

  5. [2017BUAA软工助教]团队开发阶段CheckList

    alpha阶段流程与相关节点 以下流程与团队项目中个人的得分点是一一对应的,详见QA文档中"个人在团队项目的得分部分" http://www.cnblogs.com/Childis ...

  6. html,css学习实践总结

    网页的布局方式 1.什么是网页的布局方式? 网页的布局方式其实就是指浏览器是如何对网页中的元素进行排版的 1.标准流(文档流/普通流)排版方式 1.1其实浏览器默认的排版方式就是标准流的排版方式 1. ...

  7. alibaba druid

    FAQ · alibaba/druid Wikihttps://github.com/alibaba/druid/wiki/FAQ sql 连接数不释放 ,Druid异常:wait millis 40 ...

  8. 了解真实的rem手机屏幕适配

    rem 作为一个低调的长度单位,由于手机端网页的兴起,在屏幕适配中得到重用.使用 rem 前端开发者可以很方便的在各种屏幕尺寸下,通过等比缩放的方式达到设计图要求的效果. rem 的官方定义『The ...

  9. [转帖]linux 清空history以及记录原理

    linux 清空history以及记录原理 自己的linux 里面总是一堆 乱七八槽输错的命令 用这个办法 可以清空 linux的内容. 清爽一些. 1.当前session执行的命令,放置缓存中,执行 ...

  10. UTC时间、GMT时间、本地时间、Unix时间戳

    引用: https://blog.csdn.net/u012102306/article/details/51538574 https://blog.csdn.net/foxir/article/de ...