卷就是目录或文件,存在于一个或多个容器中,由docker挂载到容器。设计的目的就是数据的持久化,完全独立于容器的生命周期。容器删除不会删除其挂载的数据卷。
特点:

  1. 数据卷可在容器间共享或重用数据
  2. 卷的更改可以直接生效
  3. 数据卷中的更改不会包含在镜像中的更新
  4. 数据卷的生命周期一直持续到没有容器使用它为止

一、命令添加

// /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

binbin
37 声望3 粉丝

炎黄子孙,女娲后人,共产主义接班人