当前位置: 首页 > news >正文

【Docker】存储卷

【简介】

宿主机的某一目录与容器中的某一目录建立的一种绑定关系,这就是“存储卷”
它有三个特性
1.它可以绕过联合文件系统, 直接作用于宿主机的目录
2.容器和宿主机的这一绑定关系指向了同一目录, 因此两个目录之间的数据是同步的,宿主机和容器都能读到
3.容器的销毁并不会销毁存储卷中的数据

【存储卷分类】

目前 Docker 提供了三种方式将数据从宿主机挂载到容器中

volume:docker 管理卷

默认映射到宿主机的/var/lib/docker/volumes 目录下,只需要指定容器内挂载路径,容器引擎 daemon 会在宿主机自行创建对应的目录(由docker来管理)

这种方式让用户使用的很省心,但缺陷是用户无法指定宿主机目录,因此可用于临时存储

bind mount:绑定数据卷

宿主机和容器内的绑定路径都需要人工手动指定
这种方式可以精准地控制数据的存储, 因此实际运用中这种存储卷的使用十分广泛

tmpfs mount:临时数据卷

它被绑定与宿主机内存中,一旦容器停止运行, tmpfs mounts 就会被移除,数据就会丢失
一般用于高性能的临时数据存储。

【创建卷】

存储卷可以通过命令方式创建,也可以在创建容器的时候通过 -v 和 --mount 指定

【方式一:命令创建】

【创建存储卷】

语法 docker volume create [OPTIONS] [VOLUME]
未指定名称, 创建出来的就是 匿名卷

指定名称则创建出来的是命名卷

-d, --driver指定驱动,默认是 local

--label 指定元数据

【查看卷详细信息】

语法docker volume inspect [OPTIONS] VOLUME [VOLUME...]

-f 指定相应个格式,如json

【列出卷】

语法docker volume ls [OPTIONS]
--format 指定相应格式,如 json,table
--filter,-f: 过滤
-q: 仅显示名称

删除卷(需要对应容器不使用)

语法 docker volume rm [OPTIONS] VOLUME [VOLUME...]
-f,--force: 强制删除

【删除所有不使用的本地匿名卷】

语法 docker volume prune [OPTIONS]
--filter: 过滤
-f, --force : 不提示是否删除

【方式二:通过 -v 和 --mount 指定】

-v 参数

语法 docker run -v name:directory:[options]......
第一个参数 name :卷名称(如果本地没有, 将自动创建)(如果name指定为宿主机目录, 则会创建绑定数据卷, 而不是docker管理卷)
第二个参数 directory :卷映射到容器内的目录
第三个参数 options :选项,如 ro 表示 readonly

--mount 参数

语法 --mount '<key>=<value>,<key>=<value>'
type : 类型表示 volume , bind,or tmpfs(表明创建的是三种存储卷中的哪一种)
source src :对于命名卷,这是卷的名称。对于匿名卷,省略此字段。{如果type
指定为bind, 同时src指定为宿主机目录, 则会创建绑定数据卷, 而不是docker管理卷)
destination dst,target :文件或目录挂载在容器中的路径
ro,readonly: 只读方式挂载
http://www.dtcms.com/a/215403.html

相关文章:

  • Rust 学习笔记:迭代器
  • 第十一节:第一部分:正则表达式:应用案例、爬取信息、搜索替换
  • 【Java开发日记】说一说序列化与反序列化中存在的问题
  • Apache DolphinScheduler存储系统详解| AI生成技术文档系列
  • Sql Server TLSv1 协议问题
  • Linux --进度条小程序更新
  • Mysql之用户管理
  • 机器学习-决策树
  • 《数据结构初阶》【番外篇:快速排序的前世今生】
  • 大型三甲医院更换HIS系统全流程分析与经验考察(下)
  • 2025 年江西研究生数学建模竞赛题C题基于大雾背景视频学习的能见度回归建模完整思路 模型代码 结果 成品分享
  • AI测试用例生成系统设计与实现:融合多模态、OCR解析与知识库增强
  • OpenGL Chan视频学习-11 Uniforms in OpenGL
  • OpenGL Chan视频学习-10 Dealing with Errors in OpenGL
  • WPF【11_7】WPF实战-重构与美化(ViewModel的嵌套与分解、海量数据不要Join)
  • 备战省赛—全国青少年信息素养大赛-图形化编程-省赛-每日一练-计算台阶
  • Frequent values/gcd区间
  • 【机器学习基础】机器学习入门核心算法:逻辑回归(Decision Tree)
  • eda学习前传又名电赛Day01
  • PIO 也有并发喔,巧用SIDE-SET
  • OpenGL Chan视频学习-8 How I Deal with Shaders in OpenGL
  • 【Doris入门】Doris初识:分布式分析型数据库的核心价值与架构解析
  • 【论文精读】2024 arXiv --VEnhancer现实世界视频超分辨率(RealWorld VSR)
  • Wan2.1 图生视频模型内部协作流程
  • 为(FramePack)的视频生成添加首尾帧功能
  • 多个vue2工程共享node_modules
  • taro + vue3 实现小程序sse长连接实时对话
  • Python的分布式网络爬虫系统实现
  • AI in Game,大模型能力与实时音视频技术融合,交出AI应用新答卷
  • ssh 测试 是否可以连通docker 容器