1.作用
容器的持久化,容器间继承+共享数据
2.数据卷
2.1命令添加
2.1.1命令
docker run -it -v /宿主机目录:/容器内目录 镜像名 /bin/bash
2.1.2查看数据卷是否挂载成功
docker inspect 642b8e9fc08a
2.1.3容器和宿主机间数据共享
2.1.4容器停止退出后,主机修改后数据是否同步
2.1.5容器数据带权限(只读)
docker run -it -v /宿主机绝对路径目录:/容器内目录:ro 镜像名
image.png
2.2DockerFile添加
2.2.1根目录下新建mydocker文件夹并进入
2.2.2构建dockerfile文件,使用VOLUME指令给镜像添加多个数据卷
2.2.3build后生成镜像(lw/centos)
docker build -f /mydocker/dockerfile -t lw/centos .
2.2.4run 容器查看容器和主机绑定目录
2.3备注
Docker挂载主机目录Docker访问出现cannot open directory .: Permission denied
解决办法:在挂载目录后多加一个--privileged=true参数即可
3.数据卷容器
命名的容器挂载数据卷,其它容器通过挂载这个(父容器)实现数据共享,挂载数据卷的容器,称之为数据卷容器(活动硬盘挂活动硬盘实现数据的传递依赖)
3.1启动父容器dc01,子容器dc02,dc03继承dc01
docker run -it --name dc01 lw/centos
docker run -it --name dc02 --volumes-from dc01 lw/centos
docker run -it --name dc03 --volumes-from dc01 lw/centos
3.2 3个容器分别创建数据文件,都能共享
image.png
image.png image.png
3.3结论
容器之间配置信息的传递,数据卷的生命周期一直持续到没有容器使用它为止。
网友评论