手记

『中级篇』docker的数据持久化存储和数据共享(32)

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

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

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

场景问题
  • 误删除container

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

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

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

  • 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 方便学习数据持久化存储

1人推荐
随时随地看视频
慕课网APP