微网站免费平台,php 优化网站建设,汉中建设工程招投标信息网,建设网站注册会员17-Docker的数据持久化介绍
回顾容器与镜像 容器是在镜像之上创建的一层运行时层#xff0c;这一层是可以读写的#xff0c;我们能够在容器内添加数据#xff0c;读取数据。
也就是说我们在创建容器的时候#xff0c;我们能够在容器内创建文件#xff0c;安装软件等等这一层是可以读写的我们能够在容器内添加数据读取数据。
也就是说我们在创建容器的时候我们能够在容器内创建文件安装软件等等但是如果我们把这个容器停止并删除了那在这个容器内的所有操作都会没有镜像是不会发生变化的除非我们重新提交了一个镜像。
持久化的产生
假如我们想创建一个数据库容器比如mysql容器那么这个数据库是要写一些数据文件在本地文件内的如果数据库容器被删除了数据库存储的数据也就不见了这是很不合理的。
其实docker是提供了数据持久化的机制。 这个机制就是 Volume,默认情况下容器所产生的数据是写到容器这一层的这一层会随着容器的销毁而销毁。
但是我们可以通 Volume 挂载到本地或者一个地方存储那么数据和这个容器就隔离开了也就是说容器销毁并不会销毁 Volume 的数据。
持久化数据的方案
基于本地文件系统的Volume。 可以在执行Docker create或者Docker run时通过-v参数将主机的目录作为容器的数据卷。这部分功能便是基于本地文件系统的Volume管理。基于plugin的Volume。支持第三方的存储方案比如 NASaws。 aws是亚马逊云NAS 是远程网络网盘 Volume的类型
受管理的data Volume,由docker后台自动创建。就是加不加-v参数docker后台都会创建一个 Volume。绑定挂载的Volume,具体挂载位置可以由用户指定。通过 -v 参数指定挂载的位置。