Docker run -v 的 rw 和 ro 模式_docker ro
一、前言
在使用 Docker 启动容器时,通常需要将宿主机的文件或目录挂载到容器中,以便于管理配置、持久化数据和调试日志。本篇博客将重点介绍 -v/--volume
参数的使用方式、挂载权限(rw
与 ro
)的区别,以及如何通过 docker inspect
命令查看挂载详情。
二、为什么需要挂载卷
- 配置管理便利:不挂载时,修改容器内配置需要进入容器执行命令;挂载后,可直接在宿主机上编辑配置文件即可生效。
- 日志持久化与查看:容器日志默认存放在容器内,通过挂载宿主目录可快速定位和分析日志。
- 数据持久化:容器被销毁后,未挂载的文件将随之丢失;挂载卷可保证数据在容器重建后依然保留。
以 Nginx 为例:
- 未挂载时:需使用
docker exec -it <container> /bin/sh
进入容器内,编辑/etc/nginx/nginx.conf
,并重启服务。 - 挂载时:只需在宿主机编辑本地的
nginx.conf
,保存后容器内配置自动更新。
三、挂载权限:ro
、rw
与默认模式
模式 | 文件操作表现 |
---|---|
不指定 | 等同于 rw ,读写挂载; |
ro | 只读挂载:• 文件:容器内无法修改;• 目录:容器内无法新增/删除或修改包含的文件,会提示 read-only ; |
rw | 读写挂载:• 文件:宿主机与容器内的修改会相互同步,但容器内删除宿主机文件可能报错 Device or resource busy ;• 目录:所有新增、修改、删除操作均可双向同步。 |
默认模式即不指定时,Docker 会将挂载视为
rw
。
四、查看挂载信息:docker inspect
使用 docker inspect <容器ID或名称>
,在返回的 JSON 中查找 Mounts
数组,即可看到挂载列表及详细属性:
"Mounts": [{"Type": "bind","Source": "/Users/yuanmomo/Documents/docker/nginx/conf/nginx.conf","Destination": "/etc/nginx/conf/nginx.conf","Mode": "rw","RW": true,"Propagation": "rprivate"},{"Type": "bind","Source": "/Users/yuanmomo/Documents/docker/nginx/html","Destination": "/usr/share/nginx/html","Mode": "","RW": true,"Propagation": "rprivate"}
]
- Type:挂载类型(
bind
表示目录绑定)。 - Source:宿主机路径。
- Destination:容器内路径。
- Mode:读写模式(
rw
、ro
或空表示默认rw
)。
五、最佳实践
- 使用目录映射:优先挂载目录代替单个文件,可避免容器应用重启或覆盖时出现加载失败。
- 配置文件管理:将配置目录集中管理,如
/etc/nginx/conf.d/
,通过映射方式加载多份配置。 - 日志分离:将日志文件目录挂载到宿主机指定目录,以便于统一收集和分析。
- 权限控制:生产环境中建议对敏感目录使用
ro
模式,降低误操作风险。
六、结语
本文介绍了 Docker 挂载卷的基本使用方法、ro
与 rw
模式的差异,以及如何通过 docker inspect
查看挂载信息。希望能帮助大家在日常容器管理中更加高效、可靠地使用挂载卷。
相关文章:
Docker run -v 的 rw 和 ro 模式_docker ro
一、前言 在使用 Docker 启动容器时,通常需要将宿主机的文件或目录挂载到容器中,以便于管理配置、持久化数据和调试日志。本篇博客将重点介绍 -v/--volume 参数的使用方式、挂载权限(rw 与 ro)的区别,以及如何通过 do…...
CentOS相关操作hub(更新中)
CentOS介绍: CentOS(Community Enterprise Operating System)是基于 Red Hat Enterprise Linux(RHEL)源代码编译的开源企业级操作系统,提供与 RHEL 二进制兼容的功能 完全兼容 RHEL,可直接使用…...

@Column 注解属性详解
提示:文章旨在说明 Column 注解属性如何在日常开发中使用,数据库类型为 MySql,其他类型数据库可能存在偏差,需要注意。 文章目录 一、name 方法二、unique 方法三、nullable 方法四、insertable 方法五、updatable 方法六、column…...

基于 ESP32 与 AWS 全托管服务的 IoT 架构:MQTT + WebSocket 实现设备-云-APP 高效互联
目录 一、总体架构图 二、设备端(ESP32)低功耗设计(适配 AWS IoT) 1.MQTT 设置(ESP32 连接 AWS IoT Core) 2.低功耗策略总结(ESP32) 三、云端架构(基于 AWS Serverless + IoT Core) 1.AWS IoT Core 接入 2.云端 → APP:WebSocket 推送方案 流程: 3.数据存…...

unity在urp管线中插入事件
由于在urp下,打包后传统的相机事件有些无法正确执行,这时候我们需要在urp管线中的特定时机进行处理一些事件,需要创建继承ScriptableRenderPass和ScriptableRendererFeature的脚本,示例如下: PluginEventPass…...
前后端的双精度浮点数精度不一致问题解决方案,自定义Spring的消息转换器处理JSON转换
在 Java 中,Long 是一个 64 位的长整型,通常用于表示很大的整数。在后端,Long 类型的数据没有问题,因为 Java 本身使用的是 64 位的整数,可以表示的范围非常大。 但是,在前端 JavaScript 中,Lo…...

docker安装es连接kibana并安装分词器
使用Docker部署Elasticsearch、Kibana并安装分词器有以下主要优点: 1. 快速部署与一致性 一键式部署:通过Docker Compose可以快速搭建完整的ELK栈环境 环境一致性:确保开发、测试和生产环境完全一致,避免"在我机器上能运行…...

线性回归中涉及的数学基础
线性回归中涉及的数学基础 本文详细地说明了线性回归中涉及到的主要的数学基础。 如果数学基础很扎实可以直接空降博文: 线性回归(一)-CSDN博客 一、概率、似然与概率密度函数 1. 概率(Probability) 定义:概率是描述…...

如何计算VLLM本地部署Qwen3-4B的GPU最小配置应该是多少?多人并发访问本地大模型的GPU配置应该怎么分配?
本文一定要阅读我上篇文章!!! 超详细VLLM框架部署qwen3-4B加混合推理探索!!!-CSDN博客 本文是基于上篇文章遗留下的问题进行说明的。 一、本文解决的问题 问题1:我明明只部署了qwen3-4B的模型…...
PostgreSQL日常维护
目录 一:基本使用 1.登录数据库 2.数据库操作 2.1列出库 2.2创建库 2.3删除库 2.4切换库 2.5查看库大小 3.数据表操作 3.1 列出表 3.2创建表 3.3复制表 3.4删除表 4.模式操作命令 4.1创建模式 4.2默认模式 4.3删除模式 4.4查看所有模式 4.5 在指定…...

Attu下载 Mac版与Win版
通过Git地址下载 Mac 版选择对于的架构进行安装 其中遇到了安装不成功,文件损坏等问题 一般是两种情况导致 1.安装版本不对 2.系统权限限制 https://www.cnblogs.com/similar/p/11280162.html打开terminal执行以下命令 sudo spctl --master-disable安装包Git下载地…...

V2X协议|如何做到“车联万物”?【无线通信小百科】
1、什么是V2X V2X(Vehicle-to-Everything)即“车联万物”,是一项使车辆能够与周围环境实现实时通信的前沿技术。它允许车辆与其他交通参与者和基础设施进行信息交互。通过V2X,车辆不仅具备“远程感知”能力,还能在更大…...
【zookeeper】--部署3.6.3
文章目录 下载解压创建data和logs配置文件1)创建目录并且编辑 zoo.cfg2)接下来将 node01 的 ZooKeeper 所有文件拷贝至 node02 和 node03。推荐从 node02 和 node03 拷贝4)最后 vim /etc/profile 配置环境变量,环境搭建结束。配完环境变量后 source /etc…...

[测试_3] 生命周期 | Bug级别 | 测试流程 | 思考
目录 一、软件测试的生命周期(重点) 1、软件测试 & 软件开发生命周期 (1)需求分析 (2)测试计划 (3)测试设计与开发 (4)测试执行 (5&am…...
物联网(IoT)智能项目全景指南:技术构架、实现细节与应用实践
目录 一、物联网项目的核心组成和发展方向 1. 核心组成 2. 发展趋势 二、系统设计的详细流程 1. 需求分析与方案规划 2. 硬件方案深度设计 3. 软件架构设计 4. 方案示意图(架构图) 三、关键技术深度剖析 1. 传感器及其接口技术 2. 嵌入式MCU选…...
【Go】1、Go语言基础
前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。 Go语言的特点 Go语言由Google团队设计,以简洁、高效、并发友好为核心目标。 具有以下优点: 语法简单、学习曲线平缓:语法关键字很少,且…...

RabbitMQ ⑤-顺序性保障 || 消息积压 || 幂等性
幂等性保障 幂等性(Idempotency) 是计算机科学和网络通信中的一个重要概念,指的是某个操作无论被执行多少次,所产生的效果与执行一次的效果相同。 应用程序的幂等性: 在应用程序中,幂等性就是指对一个系统…...

java基础知识回顾1(可用于Java基础速通)考前,面试前均可用!
目录 一、初识java 二、基础语法 1.字面量 2.变量 3.关键字 4.标识符 声明:本文章根据黑马程序员b站教学视频做的笔记,可对应课程听,课程链接如下: 02、Java入门:初识Java_哔哩哔哩_bilibili 一、初识java Java是美国 sun 公…...

云原生CICD-Tekton入门到精通
文章目录 一、Tekton介绍二、Tekton组件介绍三、执行流程四、安装Tekton管道五、安装Tekton Dashboard六、安装Tekton Cli七、运行单Task八、运行流水线九、在流水线中使用secret十、taskSpec、taskRef、pipelineRef、pipelineSpec使用pipelineRef与taskRef结合使用(推荐)pipel…...
CMake跨平台编译生成:从理论到实战
一、引言 在当今软件开发中,跨平台开发已成为常态。无论是需要在Windows、Linux、macOS等多操作系统上运行,还是在不同的硬件架构(如x86、ARM等)间部署,跨平台编译生成都是一个无法回避的关键问题。CMake,…...
MCP 协议传输机制大变身:抛弃 SSE,投入 Streamable HTTP 的怀抱
在技术的江湖里,变革的浪潮总是一波接着一波。最近,模型上下文协议(MCP)的传输机制就搞出了大动静,决定和传统的服务器发送事件(SSE)说拜拜,转身拥抱 Streamable HTTP,这…...

opencv 图像的平移和旋转
warpAffine函数讲解,图片可自行下载,也可用自己的图片 原图im 平移im_shifted 旋转im_rotated # 图像仿射变换 # 步骤: 读取图像 -> 创建仿射变换矩阵 -> 仿射变换计算 # 平移变换矩阵:一种写法,直接写死 # 旋转变…...

IDEA2025版本使用Big Data Tools连接Linux上Hadoop的HDFS
目录 Windows的准备 1. 将与Linux上版本相同的hadoop压缩包解压到本地 编辑2.设置$HADOOP HOME环境变量指向:E:\hadoop-3.3.4 3.下载hadoop.dll和winutils.exe文件 4.将hadoop.dll和winutils.exe放入$HADOOP HOME/bin中 IDEA中操作 1.下载Big Data Tools插件 2.添加并连…...

hysAnalyser特色的TS流编辑、剪辑和转存MP4功能说明
摘要 hysAnalyser 是一款特色的 MPEG-TS 数据分析工具,融合了常规TS文件的剪辑,转存功能,可用于平常的视频开发和测试。 本文详细阐述了对MPEG-TS 流的节目ID,名称,PID,时间戳,流类型ÿ…...
Day125 | 灵神 | 二叉树 | 二叉树中的第K大层和
Day125 | 灵神 | 二叉树 | 二叉树中的第K大层和 2583.二叉树中的第K大层和 2583. 二叉树中的第 K 大层和 - 力扣(LeetCode) 思路: 把每层的结果都放到一个vector数组里面,然后排序这个vector数组,返回第K大的元素即…...

Google机器学习实践指南(学习速率篇)
🔥Google机器学习核心概念精讲(学习速率) Google机器学习实战(7)-5分钟掌握学习速率。 学习速率:模型训练的关键超参数 学习速率是指在训练模型时用于梯度下降的一个标量。在每次迭代期间,梯度下降法都会将学习速率…...
JS实现直接下载PDF文件
pdf文件通过a标签直接下载会打开页面,所以,请求该文件的blob文件流数据,再通过window.URL.createObjectURL转成链接,就可以直接下载了。 只需要替换url和文件名称就行,文件名的后缀记得要写上pdf,不然会变成…...

使用KubeKey快速部署k8s v1.31.8集群
实战环境涉及软件版本信息: 使用kubekey部署k8s 1. 操作系统基础配置 设置主机名、DNS解析、时钟同步、防火墙关闭、ssh免密登录等等系统基本设置 dnf install -y curl socat conntrack ebtables ipset ipvsadm 2. 安装部署 K8s 2.1 下载 KubeKey ###地址 https…...
FreeSWITCH 纯内网配置
纯内网,且同一个网段,Fs 可简化配置,要点是: 1. 不需要事先配置 directory,任意号码都可以注册,且无挑战 2. 呼叫无挑战 不需要考虑那么多安全问题 配置如下: 1. 全局变量 <X-PRE-PROCESS cmd"…...

leetcode hot100:十四、解题思路大全:真·大全!
因为某大厂的算法没有撕出来,怒而整理该贴。部分题目有python版本的AC代码。本贴耗时4天呜呜呜 1.哈希 两数之和 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下…...