docker容器卷


容器数据卷

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

-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

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

#在第一个挂载容器被删除后,其他两个容器依然能够进行数据共享docker

相关文章
相关标签/搜索