容器数据卷

#容器数据卷的作用:
    数据持久化
    将容器数据与宿主机同步

-v参数

指令:
    docker run -it -v /宿主机绝对路径目录:/容器内目录   镜像名

实例:
    docker run -it -v /myDataVolume:/dataVolumeContainer centos
    ---------同步后的卷数据是双向共享
    ---------在容器关闭后,重新启动容器数据依然可以双向同步

    #只读权限
    docker run -it -v /myDataVolume:/dataVolumeContainer:ro centos
    ---------宿主机做出修改只读后,容器就只可以查看该文件,不可以修改

dockerfile

#容器控制脚本

mkdir /mydocker

vim /mydocker/Dockerfile

#The Dockerfile for data
FROM centos
VOLUME ["/dataVolumeContainer1","/dataVolumeContainer2"]
CMD echo "create dir finshed,-----------success"
CMD /bin/bash

#创建镜像
docker build -f /mydocker/Dockerfile -t redrain/centos .

#运行写过Dockerfile的镜像
docker run -it redrain/centos
        -----------docker会将容器数据同步给自己宿主机默认的目录,可以通过docker inspect 容器编号   来查看默认路径

        -----------在启动容器时,如果遇到权限问题,可能原因:
                1.用户权限  sudo 授权
                2.启动授权  命令后接  --privilege=true

数据卷容器

#命名的容器挂载数据卷,其他容器通过挂在这个(父容器)实现数据共享,挂在数据卷的容器称之为数据卷容器

#数据卷级联共享数据
        #启动第一个容器别名为dc01
        docker run -it --name dc01 redrain/centos

        #启动第二个,此时增加参数 --volumes-from,即可同步卷数据
        docker run -it --name dc02 --volumes-from dc01 redrain/centos

        .......
        docker run -it --name dc03 --volumes-from dc01 redrain/centos

            --------三个容器数据共享,三者数据的操作都将同步

#在第一个挂载容器被删除后,其余两个容器依然可以进行数据共享