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、数据结构、杂文、算法、计算机网络、操作系统、设计模式等相关内容

全部评论

相关推荐

10-15 15:00
潍坊学院 golang
跨考小白:这又不是官方
投递拼多多集团-PDD等公司10个岗位
点赞 评论 收藏
分享
牛客101244697号:这个衣服和发型不去投偶像练习生?
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务