Docker学习过程12-Docker容器的数据卷

什么是数据卷(data volume)
数据卷是经过特殊设计的目录,可以绕过联合文件系统(UFS),为一个或多个容器提供访问。
数据卷设计的目的是数据持久化,即使删掉容器,数据卷也不会受到影响。

Docker学习过程12-Docker容器的数据卷

数据卷特点
数据卷在容器启动时初始化,如果容器使用的镜像在挂载点包含了数据,这些数据会拷贝到新初始化的数据卷中。
数据卷可以在容器间共享和使用
可以对数据卷里的内容直接进行修改
数据卷的变化不会影响镜像的更新
卷会一直存在,即便挂载的容器已经删除

为容器添加数据卷
docker run -it -v /opt/file:/data centos /bin/bash
-v 参数为添加数据卷,左主右容

为数据卷添加访问权限
为/data目录设置只读权限
docker run -it -v /opt/file:/data:ro /bin/bash

使用Dockerfile构建包含数据卷的镜像
该方法会在本地自动生成一个数据卷,并且生成的数据卷不可与其他容器共享,即便是使用的同一个镜像也不行
Dockerfile指令:
VOLUME ["/data"]