docker容器卷
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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容器卷的主要内容,如果未能解决你的问题,请参考以下文章