17-Docker的数据持久化介绍

17-Docker的数据持久化介绍

回顾容器与镜像

在这里插入图片描述

容器是在镜像之上创建的一层运行时层,这一层是可以读写的,我们能够在容器内添加数据,读取数据。

也就是说我们在创建容器的时候,我们能够在容器内创建文件,安装软件等等,但是如果我们把这个容器停止并删除了,那在这个容器内的所有操作都会没有,镜像是不会发生变化的,除非我们重新提交了一个镜像。

持久化的产生

假如我们想创建一个数据库容器,比如mysql容器,那么这个数据库是要写一些数据文件在本地文件内的,如果数据库容器被删除了,数据库存储的数据也就不见了,这是很不合理的。

其实docker是提供了数据持久化的机制。

在这里插入图片描述

这个机制就是 Volume,默认情况下容器所产生的数据是写到容器这一层的,这一层会随着容器的销毁而销毁。

但是我们可以通 Volume 挂载到本地或者一个地方存储,那么数据和这个容器就隔离开了,也就是说容器销毁并不会销毁 Volume 的数据。

持久化数据的方案

  • 基于本地文件系统的Volume。 可以在执行Docker create或者Docker run时,通过-v参数将主机的目录作为容器的数据卷。这部分功能便是基于本地文件系统的Volume管理。
  • 基于plugin的Volume。支持第三方的存储方案,比如 NAS,aws。

aws是亚马逊云,NAS 是远程网络网盘

Volume的类型

  • 受管理的data Volume,由docker后台自动创建。就是加不加-v参数,docker后台都会创建一个 Volume。
  • 绑定挂载的Volume,具体挂载位置可以由用户指定。通过 -v 参数指定挂载的位置。
发布了145 篇原创文章 · 获赞 357 · 访问量 44万+

猜你喜欢

转载自blog.csdn.net/wf19930209/article/details/87381479
今日推荐