『中级篇』docker的数据持久化存储和数据共享(32)
2018-09-15 01:09:16
李明
  • 访问次数: 382
  • 注册日期: 2018-07-09
  • 最后登录: 2022-11-17

原创文章,欢迎转载。转载请注明:转载自 IT人故事会,谢谢!
原文链接地址: 『中级篇』docker的数据持久化存储和数据共享(32)

从这次开始docker的数据持久化存储和数据共享。

回忆下image 和 container的区别
  • image 不能写入数据,container可以写数据

container可以写入数据,执行操作,但是数据只限本个container。

1240

场景问题
  • 误删除container

如果我创建一个mysql的container,这个mysql运行了一年了,里面有很多的数据,在误操作的情况container ,结果一年的数据也就没有了,这是无法接受的。数据为王的年代,数据丢失了很恐怖的。

  • docker引入了持久化的机制Data Volume

图中的程序往两个地方,1. 往对应的layer存储,2.通过外挂载存储的方式

image.png

image.png

  • docker持久化数据的方案

  1. 基于本地文件系统的Volume。可以在执行Docker create 或Docker run时,通过-v参数将主机的目录作为容器的数据卷,基本都是用这种方式。

  2. 基于plugin的Volume,支持第三方的存储方案,比如NAS,aws

  • Volume的类型

  1. 收管理的data Volume,由docker后台自动创建,位置是固定,名字是随机的

  2. 绑定挂载的Volume,具体挂载位置可以由用户指定。

PS:源码 https://github.com/limingios/docker No.3 方便学习数据持久化存储

image