Docker 数据管理

数据卷

数据卷是一个可供一个或多个容器使用的特殊目录,它绕过 UFS,可以提供很多有用的特性:

  1. 1.  数据卷可以在容器之间共享和重用

  2. 2.  对数据卷的修改会立马生效

  3. 3.  对数据卷的更新,不会影响镜像

  4. 4.  卷会一直存在,直到没有容器使用

挂载本地目录到容器

创建一个数据卷

在用 docker run 命令的时候,使用 -v 标记来创建一个数据卷并挂载到容器里。在一次 run 中多次使用可以挂载多个数据卷。

#sudo docker run -it -v ~/data:/data --namedv1 centos-sshd:v1 /bin/bash

-v是挂载项,家目录下的data目录挂载到容器的跟目录的data下 --name起一个名字

在data下创建一个叫a.txt的文件

如图,家目录的data文件下已经有我们创建的a.txt

使用dockerfile挂载

编辑dockerfile

如图成功挂载data0

权限的限制,在之前挂载目录下只需要加上ro就可以变成只读权限了,如图

#sudo docker run -it -v ~/data:/data:ro--name dv0 centos-sshd:v1 /bin/bash

使用#sudo docker inspect命令查看,可以看到已挂载,权限为只读

数据卷容器

如果你有一些持续更新的数据需要在容器之间共享,最好创建数据卷容器。

数据卷容器,其实就是一个正常的容器,专门用来提供数据卷供其它容器挂载的。

我们先启动一个容器dv1,并挂载mydata  使用-v现选项

#sudo docker run -it -v /mydata --name dv1dkv

然后添加一个数据卷 使用命令--volumes-from,来读取dv1中的数据

#sudo docker run -it --volumes-from dv1 --name dv2 dkv

我们查看下当前挂载的容器。并关闭dv1

启动dv2,再次查看数据发现数据卷还在 为什么?

这是因为如果删除了挂载的容器,数据卷并不会被自动删除。如果要删除一个数据卷,必须在删除最后一个还挂载着它的容器时使用 docker rm -v 命令来指定同时删除关联的容器。 这可以让用户在容器之间升级和移动数据卷。

利用数据卷容器来备份、恢复、迁移数据卷

备份

#sudo docker run --volumes-from dv1 -v~/backup:/backup dkv  tar cvf/backup/backup.tar  /mydata

已经备份完毕

恢复

我们先删除dv1和dv2 然后创建一个dv3

开始还原数据

# sudo docker run --volumes-from dv3 -v~/backup:/backup dkv tar xvf /backup/backup.tar

再次查看发现数据已经还原回来

本章教程到此结束,下节主要介绍docker网络

转载于:https://blog.51cto.com/itjcw/1680151

Docker 数据管理相关推荐

  1. Docker学习五:Docker 数据管理

    前言 本次学习来自于datawhale组队学习: 教程地址为: https://github.com/datawhalechina/team-learning-program/tree/master/ ...

  2. Docker学习三:Docker 数据管理

    前言 本次学习来自于datawhale组队学习: 教程地址为: https://github.com/datawhalechina/team-learning-program/tree/master/ ...

  3. Docker数据管理 Named volume

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! Dock ...

  4. 6、docker 数据管理

    很早之前看的文章,进行了简单的排版整理,找不到源地址了,如有侵权,请联系删除. 1.数据卷(docker volume) 数据卷是一个可供一个或多个容器使用的特殊目录,它绕过 UFS,可以提供很多有用 ...

  5. CHAPTER 5 Docker数据管理

    docker 数据管理 5.1 数据卷 5.1.1 创建数据卷 5.1.2 绑定数据卷(`--mount`) 5.2 数据卷容器 5.3 利用数据卷容器来迁移数据 在生产环境中使用Docker,往往需 ...

  6. Docker 入门系列(4)- Docker 数据管理(挂载目录、挂载文件、数据卷挂载、数据卷共享、数据卷删除、数据卷容器备份和恢复)

    基于底层存储实现,Docker 提供了三种适用于不同场景的文件系统挂载方式:Bind Mount.Volume 和 Tmpfs Mount. Bind Mount 能够直接将宿主操作系统中的目录和文件 ...

  7. Docker基础-Docker数据管理

    1.数据卷 数据卷是一个可供容器使用的特殊目录,它将主机操作系统目录直接映射进容器,类似于Linux中的mount操作. 数据卷可以提供很多有用的特性: 1.数据卷可以在容器之间共享和重用,容器间传递 ...

  8. Docker 数据管理介绍

    默认容器的数据是保存在容器的可读写层,当容器被删除时其上的数据也会丢失,所以为了实现数据的持久性则需要选择一种数据持久技术来保存数据.官方提供了三种存储方式:Volumes.Bind mounts和t ...

  9. docker数据管理与网络通信

    一.管理docker容器中数据 管理Docker 容器中数据主要有两种方式:数据卷(Data Volumes)和数据卷容器( DataVolumes Containers) . 1. 数据卷 数据卷是 ...

  10. 【云原生 | 10】Docker数据管理

最新文章

  1. quo,vadis_Quo Vadis JUnit
  2. JavaEE基本了解
  3. 热点聚焦:精益生产模式的最大优势在哪?
  4. 1024我摊牌了,谈谈自己2020剩余两月的学习计划
  5. LeetCode 66 加一
  6. html中如何华直角坐标系,空间直角坐标系的画法..ppt
  7. sql 遍历结果print和表格形式
  8. java中final用法
  9. Hadoop2.6分布式集群安装配置
  10. string取某个符号后面的的_String.replace 用的不对性能可能差 10 倍,你用对了吗?...
  11. 单片机C51 之(1)简介
  12. Redmi显示器调节亮度 27英寸/2k/ IPS技术/低蓝光
  13. 关于模板函数声明与定义的问题
  14. 关于 Private strand flush not complete
  15. 光纤猫怎样连接无线路由器?_网络技术-i火吧
  16. js 删除节点小案例
  17. 解决pip-script.py文件不存在的问题
  18. Nature|人工智能助力蛋白质折叠预测
  19. 微信小程序跳转微信小程序实现免登录
  20. Python新型冠状病毒疫情数据自动爬取+统计+发送报告+数据屏幕(四)数据屏幕

热门文章

  1. MySQL引擎innodb和mysum_mysql数据库引擎 MyISAM和 InnoDB区别
  2. PHP 根据年月返回这个月的第一天时间戳和这个月的最后一天时间戳
  3. nginx.conf 配置完整示例
  4. Python模拟谷歌浏览器发布文字、图片
  5. PHP中cURL的curl_getinfo函数返回的CURLINFO_HTTP_CODE是0
  6. -source 1.6 中不支持 lambda 表达式 [ERROR] (请使用 -source 8 或更高版本以启用 lambda 表达式)
  7. 编译OpenJDK8 arm32的源码库
  8. 软件基本功:一行70限制早已无效,150起步
  9. 全网首发:神奇的WORD文字渲染效果,18个字符一组,每个字符渲染效果不同
  10. Linux下用C获取so库所在路径