【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: 只读方式挂载

相关推荐
数安旭说10 小时前
企业终端行为审计建设:本地审计 + 网络审计构建完整溯源取证体系
运维·数据安全·软件需求·溯源·审计·网络审计
Elastic 中国社区官方博客10 小时前
在 Elasticsearch 中回填时间序列数据:通过批量 API 加载数月的历史指标数据
大数据·运维·数据库·人工智能·elasticsearch·搜索引擎·全文检索
10mAh11 小时前
【Linux】CPU 100% 怎么排查?——top、pidstat、jstack 到线程定位实战
linux·运维·服务器
LRL_11 小时前
深入浅出 Kubernetes 控制器:Deployment 与 StatefulSet 核心区别全景图
云原生·容器·kubernetes
!chen11 小时前
客户环境 Nginx 配置流式报表与超时排查
运维·nginx
起名真的太难了12 小时前
Docker 项目部署
docker·容器·eureka
狼与自由12 小时前
docker 安装milvus
docker·milvus
KIZIFLOW北泽五金12 小时前
液压系统压力损失怎么降?成因分析与减损实操方案
运维·自动化·新媒体运营·产品运营·流量运营·用户运营·内容运营
介拙12 小时前
Zabbix 7.0 从装到告警触发,我踩了这些坑
运维
爱吃提升12 小时前
VMware虚拟机迁移系统磁盘完整教程(VMware Workstation17)
linux·运维·服务器