卷就是目录或文件,存在于一个或多个容器中,由docker挂载到容器。设计的目的就是数据的持久化,完全独立于容器的生命周期。容器删除不会删除其挂载的数据卷。
特点:
- 数据卷可在容器间共享或重用数据
- 卷的更改可以直接生效
- 数据卷中的更改不会包含在镜像中的更新
- 数据卷的生命周期一直持续到没有容器使用它为止
一、命令添加
// /root/myDataVolume 是宿主机的文件夹 /dataVolumeContainer是容器中的文件夹
docker run -it -v /root/myDataVolume:/dataVolumeContainer centos
// 带权限 容器内目录只读不能写
docker run -it -v 宿主机绝对路径目录:容器内目录:ro centos
二、Dockerfile添加
// 新建Dockerfile文件
From centos
VOLUME ["/dataVolumeContainer1","/dataVolumeContainer2"]
CMD echo "finished,------------success1"
CMD /bin/bash
// 通过dockerfile文件创建镜像
docker build -f /root/mydocker/Dockerfile -t zbb/centos .
二、容器间传递与共享
// 都继承自dc01 每个容器的容器卷中的更改都相互共享
docker run -it --name dc01 zbb/centos
docker run -it --name dc03 --volumes-from dc02 zbb/centos
docker run -it --name dc03 --volumes-from dc01 zbb/centos
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。