Docker 容器数据卷

概念

  • 卷就是目录或者文件,存在于一个或者多个容器中,由 docker 挂载到容器,但不属于联合文件系统,因此能够绕过 Union File System 提供一些用于持续存储或者共享数据的特性
  • 目的是将数据持久化,完全独立于容器的生存周期,将 docker 容器内的数据保存进宿主机的磁盘中,因此 docker 不会再容器删除时删除其挂载的数据卷
  • 类似于 redis 的 AOF、RDB文件实现持久化


特点

  • 数据卷可在容器之间共享或者重用数据
  • 卷中的更改可以直接实时生效(主机上的更改同步到容器中、容器的更改同步到主机中、容器挂掉主机上的更改也会同步到容器中
  • 数据卷中的更改不会包含在镜像的更新中
  • 数据卷的生命周期一直持续到没有容器使用它为止


操作

含义 命令
运行一个带有数据卷的实例 docker run -it --name="persistent_ubuntu" --privileged=true -v /tmp/host_data:/tmp/docker_data ubuntu
查看数据卷是否挂载成功 docker inspect 容器ID

alt



读写规则

含义 命令
默认情况下是读写 rw docker run -it --name="persistent_ubuntu" --privileged=true -v /tmp/host_data:/tmp/docker_data:rw ubuntu
主机可读可写,容器内部限制,容器内只能读不能写 ro(read only) docker run -it --name="persistent_ubuntu" --privileged=true -v /tmp/host_data:/tmp/docker_data:ro ubuntu


容器卷之间的继承

  • 继承的是挂载的规则(目录)、两个容器之间相互独立,父容器挂掉也不会影响子容器
  • 两个容器共享一个挂载目录
含义 命令
继承已有映射 docker run -it --privileged=true --volumes-from persistent_ubuntu --name="inherit_presistent_ubuntu" ubuntu


hshuo的面试之路 文章被收录于专栏

作者目标是找到一份Java后端方向的工作 此专栏用来记录从Bilibili、书本、其他优质博客上面学习的内容 用于巩固、总结内容 主要包含Docker、Dubbo、Java基础、JUC、Maven、MySQL、Redis、SpringBoot、SpringCloud、数据结构、杂文、算法、计算机网络、操作系统、设计模式等相关内容

全部评论

相关推荐

bLanK的小号:建议自己写一个比较新颖的项目,比如思维导图,在线文档,仿造postman,仿造一个组件库
点赞 评论 收藏
分享
01-26 22:20
已编辑
门头沟学院 Java
Java抽象带篮子:项目很nb了,现在好好准备八股和算法吧,早点找实习,可以看看我的置顶帖子。帖子里写了怎么改简历,怎么包装实习经历,还有2个高质量可速成的项目话术,和我的牛客八股笔记专栏
点赞 评论 收藏
分享
02-15 22:29
门头沟学院 Java
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务