1、命令总览

命令作用出现频率备注
★ docker volume create新建卷-d 指定驱动,-o 指定驱动选项
★ docker volume ls列出卷--filter dangling=true 查孤儿卷
★ docker volume inspect查看卷详情输出 JSON,可加 --format
★ docker volume rm删除卷只能删已停止容器的卷
docker volume prune批量清理孤儿卷危险操作,会二次确认
docker volume cp宿主机⇄卷 拷文件需 24.0+ 的 CLI,等同于 docker cp
docker volume update修改卷标签/驱动参数仅少数驱动支持
docker volume use在 docker run 里使用卷其实是 --mount 或 -v 的语法糖

卷与 bind mount 区别:卷由 Docker 管理,迁移/备份更方便;bind mount 直接映射宿主机路径,性能稍高但可移植性差。

2、docker volume create

用于在本地或远程驱动上“先创建、后使用”一个持久化卷;创建完即可通过 docker run -v / --mount 把卷挂载到容器中。

docker volume create [OPTIONS] [VOLUME_NAME]
选项作用示例
-d, --driver指定卷驱动(默认 local)-d nfs
--label加标签,便于过滤--label env=prod
-o, --opt驱动级参数-o type=tmpfs -o device=tmpfs

docker volume create
├─ --driver  , -d          ⭕ 插件名(local|nfs|ceph|rbd|ebs|oss...)
├─ --name                   卷名,省略时自动生成 ID
├─ --label                  ⭕ key=value 元数据,可多次出现
└─ --opt     , -o           ⭕ 驱动级键值对,出现次数不限
├─ 当 driver = local
│   ├─ type      = none | bind | tmpfs | nfs | btrfs | ext4 | xfs ...
│   ├─ device    = <路径|设备|远程地址>
│   ├─ o         = <挂载选项字符串,逗号分隔>
│   │   ├─ 通用  : rw/ro, relatime, sync, uid=..., gid=..., size=...
│   │   ├─ nfs   : addr=..., vers=3|4, proto=tcp|udp, timeo=600 ...
│   │   └─ tmpfs : size=100m, mode=1770, nr_inodes=1m ...
│   └─ 其他 local-only 键
│       ├─ size  = 100m            # 某些驱动支持配额
│       └─ keyfile = /path/key     # 加密卷
└─ 当 driver ≠ local
├─ 各云厂商/分布式存储自有键
│   ├─ ebs      : size, iops, type(gp2|io1), encrypted, kms-key-id ...
│   ├─ ceph/rbd : pool, image, user, secret ...
│   ├─ alicloud/oss : bucket, accesskeyid, accesskeysecret, region ...
│   └─ glusterfs : volid, servers, gid, uid, direct-mount-mode ...
└─ 任意自定义键(由第三方驱动文档定义)

# 创建名为 myvol 的本地卷
docker volume create myvol# 验证
docker volume ls
docker volume inspect myvol# 使用 vieux/sshfs 驱动,把远端目录挂成卷
docker volume create \--driver vieux/sshfs \--opt sshcmd=user@192.168.1.10:/data \--opt password=secret \sshfs-vol# 一次性加多个标签
docker volume create \--label project=blog \--label env=staging \blog-uploads# 按标签过滤
docker volume ls --filter label=project=blog# 创建 100 MB 的 tmpfs 卷(内存盘)
docker volume create \--driver local \--opt type=tmpfs \--opt device=tmpfs \--opt o=size=100m \memvol# 创建 ext4 格式的 loop 设备卷
docker volume create \--driver local \--opt type=none \--opt o=bind \--opt device=/dev/loop0 \loopdisk# 直接创建匿名卷(Docker 自动生成一串 ID 作为名字)
docker volume create
# 典型用法:docker run -v /data ... 会自动产生匿名卷

3、docker volume ls

# 简单列出所有卷
docker volume ls# 只显示没有被任何容器引用的“孤儿卷”
docker volume ls --filter dangling=true# 根据 label 过滤
docker volume ls --filter label=env=prod# 按创建时间倒序
docker volume ls --format "table {{.Name}}\t{{.Driver}}\t{{.CreatedAt}}"

4、docker volume inspect

# 查看卷完整 JSON
docker volume inspect html# 只取 Mountpoint 字段(宿主机目录)
docker volume inspect html \--format '{{.Mountpoint}}'# 同时查看多个卷
docker volume inspect html prod-data

5、docker volume rm

# 删除单个卷
docker volume rm html# 强制删除多个卷(即使被引用也会报错)
docker volume rm prod-data logs# 利用 xargs 批量删除孤儿卷
docker volume ls -q -f dangling=true | xargs docker volume rm

6、docker volume prune

# 交互式清理所有孤儿卷
docker volume prune# 非交互(脚本里用)
docker volume prune -f

7、docker volume cp (CLI ≥ 24.0)

# 把宿主机文件拷进卷
echo "hello" > /tmp/index.html
docker volume cp /tmp/index.html html:/index.html# 把卷里的目录拷回宿主机
docker volume cp html:/var/log/nginx ./logs

8、docker volume update

# 仅某些驱动支持,给卷追加标签
docker volume update prod-data --label-replace env=staging

9、在容器中使用卷(run / compose)

# 方式1:-v 简写(宿主机路径可省略,则自动用卷)
docker run -d \--name web \-v html:/usr/share/nginx/html \nginx:alpine# 方式2:--mount 更明确(推荐)
docker run -d \--name db \--mount type=volume,src=mysql-data,dst=/var/lib/mysql,volume-driver=local \mysql:8# 只读挂载
docker run -d \--name app \--mount type=volume,src=config,dst=/etc/app,readonly \myapp:latest# docker-compose.yml 示例
version: "3.9"
services:api:image: myapivolumes:- type: volumesource: uploadstarget: /app/uploadsvolume:nocopy: true          # 禁止初始化复制
volumes:uploads:driver: local

10、备份 & 恢复卷数据(经典方案)

# 备份:启动一个临时容器把卷打包
docker run --rm \-v html:/data \-v $(pwd):/backup \alpine tar czf /backup/html-backup.tar.gz -C /data .# 恢复:反向操作
docker run --rm \-v html:/data \-v $(pwd):/backup \alpine sh -c "cd /data && tar xzf /backup/html-backup.tar.gz"

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/94511.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/94511.shtml
英文地址,请注明出处:http://en.pswp.cn/diannao/94511.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计数组合学7.14(对偶 RSK 算法)

7.14 对偶 RSK 算法 存在 RSK 算法的一种变体&#xff0c;其与乘积 ∏i,j(1xiyj)\prod_{i,j}(1 x_{i}y_{j})∏i,j​(1xi​yj​) 的关系类似于 RSK 算法本身与 ∏i,j(1−xiyj)−1\prod_{i,j}(1 - x_{i}y_{j})^{-1}∏i,j​(1−xi​yj​)−1 的关系。我们称此变体为对偶 RSK 算法…

C语言中的进程、线程与进程间通信详解

目录 引言 基本概念 1. 进程&#xff08;Process&#xff09; 2. 线程&#xff08;Thread&#xff09; 线程编程实战 1. 常见线程库 2. 合理设置线程数 3. pthread 创建线程 线程同步机制 1. 互斥锁 pthread_mutex_t 2. 条件变量 pthread_cond_t 3. 读写锁 pthread…

[假面骑士] 555浅谈

假面骑士555(faiz)是我最先接触的一部平成系列的假面骑士&#xff0c;同时也是我个人最喜欢的一部假面骑士。一、大纲简介震惊&#xff0c;人类最新的进化形态——奥菲一诺&#xff0c;横空出世&#xff01;日本的顶级财团&#xff0c;Smart Brain&#xff0c;的前任社长&#…

Vue Router 路由的创建和基本使用(超详细)

一、路由的基本概念 你是否好奇单页应用&#xff08;SPA&#xff09;是如何在不刷新页面的情况下实现页面切换的&#xff1f;这就离不开路由的功劳。 路由&#xff1a;本质是一组 key-value 的对应关系&#xff0c;在前端领域中&#xff0c;key 通常是路径&#xff0c;value …

深入理解设计模式:策略模式的艺术与实践

在软件开发中&#xff0c;我们经常会遇到需要根据不同情况选择不同算法或行为的场景。传统的做法可能是使用大量的条件语句&#xff08;if-else或switch-case&#xff09;&#xff0c;但随着需求的增加和变化&#xff0c;这种硬编码的方式会导致代码难以维护和扩展。策略模式&a…

概率/期望 DP llya and Escalator

题目链接&#xff1a;Problem - D - Codeforces 看了这篇文章来的&#xff1a;【算法学习笔记】概率与期望DP - RioTian - 博客园 这篇博客写得挺好的&#xff0c;讲了一些常见方法&#xff0c;概率 / 期望的题多练练就上手了。 题目大意&#xff1a; n 个人排队上电梯&…

大陆电子MBDS开发平台转到其他国产控制器平台产生的问题记录

u8_StComLowSpdGearSwt变量为例&#xff0c;之前用的时候只有输入&#xff0c;没什么实际意义&#xff0c;导致新环境下编译报错&#xff0c;缺少声明&#xff0c;解决办法&#xff1a;注释掉输入模块。今天解决的另一个比较大的问题&#xff0c;不同模型函数公用函数模块生成代…

机器学习模型调优实战指南

文章目录模型选择与调优&#xff1a;从理论到实战1. 引言2. 模型评估&#xff1a;为选择提供依据2.1 偏差-方差权衡2.2 数据集划分与分层抽样2.3 交叉验证&#xff08;Cross-Validation&#xff09;2.4 信息准则&#xff08;AIC / BIC&#xff09;3. 超参数调优&#xff1a;让模…

【教程】Unity CI/CD流程

测试机&#xff1a;红帽 Linux8 源码仓库&#xff1a;Gitee - MrRiver/Unity Example   系统环境准备 1&#xff09;yum 源 sudo curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo sudo sed -i s/\$releasever/8/g /etc/yum.repos…

文献阅读 | Briefings in Bioinformatics | Hiplot:全面且易于使用的生物医学可视化分析平台

文献介绍文献题目&#xff1a; Hiplot&#xff1a;一个综合且易于使用的 Web 服务&#xff0c;用于增强出版物准备的生物医学数据可视化 研究团队&#xff1a; Openbiox/Hiplot 社区 发表时间&#xff1a; 2022-07-05 发表期刊&#xff1a; Briefings in Bioinformatics 影响因…

【数字图像处理系列笔记】Ch04:灰度变换与空间域图像增强(2)

目录 一、空域滤波基础 一、空域滤波的基本概念 二、空域滤波的数学原理 三、空域滤波器的分类与典型示例 &#xff08;一&#xff09;线性滤波器&#xff08;Linear Filter&#xff09; &#xff08;二&#xff09;非线性滤波器&#xff08;Non-linear Filter&#xff0…

AI浪潮下,FPGA如何实现自我重塑与行业变革

引言&#xff1a;AI 与 FPGA&#xff0c;新时代的碰撞 2025 年&#xff0c;人工智能技术迎来爆发式增长&#xff0c;大模型、生成式 AI 和多模态技术持续突破&#xff0c;人形机器人量产元年正式开启&#xff0c;自动驾驶商业化进程加速&#xff0c;工业数字化转型全面铺开(1)…

系统集成项目管理工程师【第十一章 规划过程组】定义范围、创建WBS、规划进度管理和定义活动篇

系统集成项目管理工程师【第十一章 规划过程组】定义范围、创建WBS、规划进度管理和定义活动篇 一、定义范围&#xff1a;给项目画好"边界线" 定义范围是明确项目和产品"做什么、不做什么"的过程&#xff0c;直接影响后续所有工作的方向。 1. 核心概念与作…

Spring Boot 参数校验全指南

Spring Boot 参数校验全指南 在 Web 开发中&#xff0c;参数校验是保障接口安全性和数据合法性的关键环节。手动编写校验逻辑不仅繁琐&#xff0c;还容易遗漏边界情况。Spring Boot 整合了 validation 工具&#xff0c;提供了一套简洁高效的参数校验方案&#xff0c;可快速实现…

常用技术资料链接

1.team技术 https://zhuanlan.zhihu.com/p/11389323664 https://blog.csdn.net/Lucky_Lu0/article/details/121697151 2.bond切换主备 https://www.xgss.net/3306.html 3.ssh详解&#xff1a; https://cloud.tencent.com/developer/news/105165 https://blog.huochengrm.c…

【Spring Cloud】-- 注册中心

文章目录1. 什么是注册中心2. CPA理论1. 什么是注册中心 注册中心有三种角色&#xff1a; 服务提供者&#xff08;Server&#xff09; &#xff1a;提供接口给其他微服务的程序。服务消费者&#xff08;Client&#xff09;&#xff1a;调用其他微服务提供的接口。**服务注册中…

go-zero 详解

go-zero 详解 go-zero 是一个基于 Go 语言的微服务框架&#xff0c;由字节跳动团队开发并开源&#xff0c;旨在帮助开发者快速构建高可用、高性能的微服务架构。它集成了丰富的组件&#xff0c;简化了微服务开发中的常见问题&#xff08;如服务注册发现、配置管理、限流熔断等&…

接口自动化框架封装之统一请求封装及通过文件实现接口关联

接口自动化测试框架封装目的:简化自动化框架的落地,提高投入和产出比,只要一个人封装好框架,另外的测试通过写yaml测试用例即可实现接口自动化1.统一请求的封装去除多余重复的代码可跨py文件实现通过一个session来自动关联有cookie的接口设置统一公共参数,统一文件处理,统一异常…

Vue 最佳实践:如何利用唯一 key 值保证 el-table 动态渲染的稳定性

&#x1f4cb; 问题描述 在Vue 2.0 ElementUI项目的偏置条件管理页面中&#xff0c;每次切换到"内规拉偏"菜单时&#xff0c;表格样式会发生崩溃&#xff0c;导致表格布局异常、列宽错乱、固定列显示不正确等问题。 &#x1f50d; 问题分析 通过深入分析代码&#x…

popen开启进程,写入数据

通过管道&#xff08;popen&#xff09;启动 SDIWAN_WEB 进程并写入 JSON 数据的过程可以分为以下步骤&#xff0c;结合代码示例和关键注意事项进行说明&#xff1a;1. 核心代码示例 #include <stdio.h> #include <json-c/json.h>int main() {// 1. 创建 JSON 对象…