有些容器会自动产生一些数据,为了不让数据随着container的消失而消失,保证数据的安全性。例如:数据库容器,数据表的表会产生一些数据,如果我把container给删除,数据就丢失。为了保证数据不丢失,这就有了Volume的存在。
Data Volume 结构图
Docker持久化数据的方案
Volume的类型
受管理的data Volume,由docker后台自动创建。
绑定挂载的Volume,具体挂载位置可以由用户指定。
数据持久化之Data Volume
以官方镜像mysql的dockerfile文件为例 。其中dockerfile通过volume指定了当前容器中要备份的文件路径,但是并没有指定说要保存到宿主机的哪个位置。
volume:映射容器中的文件到本地宿主机硬盘中
docker run
启动mysql镜像容器的时候,容器会默认在宿主机生成一个volume,至于位置在哪,名字是什么,可以通过如下命令查看
#查看所有volume docker volume ls #删除指定volume docker volume rm [volume name] #查看volume详细 docker volume inspect [volume name]