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

Docker run -v 的 rw 和 ro 模式_docker ro

一、前言

在使用 Docker 启动容器时,通常需要将宿主机的文件或目录挂载到容器中,以便于管理配置、持久化数据和调试日志。本篇博客将重点介绍 -v/--volume 参数的使用方式、挂载权限(rwro)的区别,以及如何通过 docker inspect 命令查看挂载详情。

二、为什么需要挂载卷

  • 配置管理便利:不挂载时,修改容器内配置需要进入容器执行命令;挂载后,可直接在宿主机上编辑配置文件即可生效。
  • 日志持久化与查看:容器日志默认存放在容器内,通过挂载宿主目录可快速定位和分析日志。
  • 数据持久化:容器被销毁后,未挂载的文件将随之丢失;挂载卷可保证数据在容器重建后依然保留。

以 Nginx 为例:

  • 未挂载时:需使用 docker exec -it <container> /bin/sh 进入容器内,编辑 /etc/nginx/nginx.conf,并重启服务。
  • 挂载时:只需在宿主机编辑本地的 nginx.conf,保存后容器内配置自动更新。

三、挂载权限:rorw 与默认模式

模式文件操作表现
不指定等同于 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:读写模式(rwro 或空表示默认 rw)。

五、最佳实践

  1. 使用目录映射:优先挂载目录代替单个文件,可避免容器应用重启或覆盖时出现加载失败。
  2. 配置文件管理:将配置目录集中管理,如 /etc/nginx/conf.d/,通过映射方式加载多份配置。
  3. 日志分离:将日志文件目录挂载到宿主机指定目录,以便于统一收集和分析。
  4. 权限控制:生产环境中建议对敏感目录使用 ro 模式,降低误操作风险。

六、结语

本文介绍了 Docker 挂载卷的基本使用方法、rorw 模式的差异,以及如何通过 docker inspect 查看挂载信息。希望能帮助大家在日常容器管理中更加高效、可靠地使用挂载卷。

相关文章:

Docker run -v 的 rw 和 ro 模式_docker ro

一、前言 在使用 Docker 启动容器时&#xff0c;通常需要将宿主机的文件或目录挂载到容器中&#xff0c;以便于管理配置、持久化数据和调试日志。本篇博客将重点介绍 -v/--volume 参数的使用方式、挂载权限&#xff08;rw 与 ro&#xff09;的区别&#xff0c;以及如何通过 do…...

CentOS相关操作hub(更新中)

CentOS介绍&#xff1a; CentOS&#xff08;Community Enterprise Operating System&#xff09;是基于 Red Hat Enterprise Linux&#xff08;RHEL&#xff09;源代码编译的开源企业级操作系统&#xff0c;提供与 RHEL 二进制兼容的功能 完全兼容 RHEL&#xff0c;可直接使用…...

@Column 注解属性详解

提示&#xff1a;文章旨在说明 Column 注解属性如何在日常开发中使用&#xff0c;数据库类型为 MySql&#xff0c;其他类型数据库可能存在偏差&#xff0c;需要注意。 文章目录 一、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下&#xff0c;打包后传统的相机事件有些无法正确执行&#xff0c;这时候我们需要在urp管线中的特定时机进行处理一些事件&#xff0c;需要创建继承ScriptableRenderPass和ScriptableRendererFeature的脚本&#xff0c;示例如下&#xff1a; PluginEventPass&#xf…...

前后端的双精度浮点数精度不一致问题解决方案,自定义Spring的消息转换器处理JSON转换

在 Java 中&#xff0c;Long 是一个 64 位的长整型&#xff0c;通常用于表示很大的整数。在后端&#xff0c;Long 类型的数据没有问题&#xff0c;因为 Java 本身使用的是 64 位的整数&#xff0c;可以表示的范围非常大。 但是&#xff0c;在前端 JavaScript 中&#xff0c;Lo…...

docker安装es连接kibana并安装分词器

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

线性回归中涉及的数学基础

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

如何计算VLLM本地部署Qwen3-4B的GPU最小配置应该是多少?多人并发访问本地大模型的GPU配置应该怎么分配?

本文一定要阅读我上篇文章&#xff01;&#xff01;&#xff01; 超详细VLLM框架部署qwen3-4B加混合推理探索&#xff01;&#xff01;&#xff01;-CSDN博客 本文是基于上篇文章遗留下的问题进行说明的。 一、本文解决的问题 问题1&#xff1a;我明明只部署了qwen3-4B的模型…...

PostgreSQL日常维护

目录 一&#xff1a;基本使用 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 版选择对于的架构进行安装 其中遇到了安装不成功&#xff0c;文件损坏等问题 一般是两种情况导致 1.安装版本不对 2.系统权限限制 https://www.cnblogs.com/similar/p/11280162.html打开terminal执行以下命令 sudo spctl --master-disable安装包Git下载地…...

V2X协议|如何做到“车联万物”?【无线通信小百科】

1、什么是V2X V2X&#xff08;Vehicle-to-Everything&#xff09;即“车联万物”&#xff0c;是一项使车辆能够与周围环境实现实时通信的前沿技术。它允许车辆与其他交通参与者和基础设施进行信息交互。通过V2X&#xff0c;车辆不仅具备“远程感知”能力&#xff0c;还能在更大…...

【zookeeper】--部署3.6.3

文章目录 下载解压创建data和logs配置文件1)创建目录并且编辑 zoo.cfg2)接下来将 node01 的 ZooKeeper 所有文件拷贝至 node02 和 node03。推荐从 node02 和 node03 拷贝4&#xff09;最后 vim /etc/profile 配置环境变量&#xff0c;环境搭建结束。配完环境变量后 source /etc…...

[测试_3] 生命周期 | Bug级别 | 测试流程 | 思考

目录 一、软件测试的生命周期&#xff08;重点&#xff09; 1、软件测试 & 软件开发生命周期 &#xff08;1&#xff09;需求分析 &#xff08;2&#xff09;测试计划 &#xff08;3&#xff09;测试设计与开发 &#xff08;4&#xff09;测试执行 &#xff08;5&am…...

物联网(IoT)智能项目全景指南:技术构架、实现细节与应用实践

目录 一、物联网项目的核心组成和发展方向 1. 核心组成 2. 发展趋势 二、系统设计的详细流程 1. 需求分析与方案规划 2. 硬件方案深度设计 3. 软件架构设计 4. 方案示意图&#xff08;架构图&#xff09; 三、关键技术深度剖析 1. 传感器及其接口技术 2. 嵌入式MCU选…...

【Go】1、Go语言基础

前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课&#xff0c;做自我学习总结整理。 Go语言的特点 Go语言由Google团队设计&#xff0c;以简洁、高效、并发友好为核心目标。 具有以下优点&#xff1a; 语法简单、学习曲线平缓&#xff1a;语法关键字很少&#xff0c;且…...

RabbitMQ ⑤-顺序性保障 || 消息积压 || 幂等性

幂等性保障 幂等性&#xff08;Idempotency&#xff09; 是计算机科学和网络通信中的一个重要概念&#xff0c;指的是某个操作无论被执行多少次&#xff0c;所产生的效果与执行一次的效果相同。 应用程序的幂等性&#xff1a; 在应用程序中&#xff0c;幂等性就是指对一个系统…...

java基础知识回顾1(可用于Java基础速通)考前,面试前均可用!

目录 一、初识java 二、基础语法 1.字面量 2.变量 3.关键字 4.标识符 声明&#xff1a;本文章根据黑马程序员b站教学视频做的笔记&#xff0c;可对应课程听&#xff0c;课程链接如下: 02、Java入门&#xff1a;初识Java_哔哩哔哩_bilibili 一、初识java Java是美国 sun 公…...

云原生CICD-Tekton入门到精通

文章目录 一、Tekton介绍二、Tekton组件介绍三、执行流程四、安装Tekton管道五、安装Tekton Dashboard六、安装Tekton Cli七、运行单Task八、运行流水线九、在流水线中使用secret十、taskSpec、taskRef、pipelineRef、pipelineSpec使用pipelineRef与taskRef结合使用(推荐)pipel…...

CMake跨平台编译生成:从理论到实战

一、引言 在当今软件开发中&#xff0c;跨平台开发已成为常态。无论是需要在Windows、Linux、macOS等多操作系统上运行&#xff0c;还是在不同的硬件架构&#xff08;如x86、ARM等&#xff09;间部署&#xff0c;跨平台编译生成都是一个无法回避的关键问题。CMake&#xff0c;…...

MCP 协议传输机制大变身:抛弃 SSE,投入 Streamable HTTP 的怀抱

在技术的江湖里&#xff0c;变革的浪潮总是一波接着一波。最近&#xff0c;模型上下文协议&#xff08;MCP&#xff09;的传输机制就搞出了大动静&#xff0c;决定和传统的服务器发送事件&#xff08;SSE&#xff09;说拜拜&#xff0c;转身拥抱 Streamable HTTP&#xff0c;这…...

opencv 图像的平移和旋转

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

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 数据分析工具&#xff0c;融合了常规TS文件的剪辑&#xff0c;转存功能&#xff0c;可用于平常的视频开发和测试。 本文详细阐述了对MPEG-TS 流的节目ID&#xff0c;名称&#xff0c;PID&#xff0c;时间戳&#xff0c;流类型&#xff…...

Day125 | 灵神 | 二叉树 | 二叉树中的第K大层和

Day125 | 灵神 | 二叉树 | 二叉树中的第K大层和 2583.二叉树中的第K大层和 2583. 二叉树中的第 K 大层和 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a; 把每层的结果都放到一个vector数组里面&#xff0c;然后排序这个vector数组&#xff0c;返回第K大的元素即…...

Google机器学习实践指南(学习速率篇)

&#x1f525;Google机器学习核心概念精讲&#xff08;学习速率&#xff09; Google机器学习实战(7)-5分钟掌握学习速率。 学习速率&#xff1a;模型训练的关键超参数 学习速率是指在训练模型时用于梯度下降的一个标量。在每次迭代期间&#xff0c;梯度下降法都会将学习速率…...

JS实现直接下载PDF文件

pdf文件通过a标签直接下载会打开页面&#xff0c;所以&#xff0c;请求该文件的blob文件流数据&#xff0c;再通过window.URL.createObjectURL转成链接&#xff0c;就可以直接下载了。 只需要替换url和文件名称就行&#xff0c;文件名的后缀记得要写上pdf&#xff0c;不然会变成…...

使用KubeKey快速部署k8s v1.31.8集群

实战环境涉及软件版本信息&#xff1a; 使用kubekey部署k8s 1. 操作系统基础配置 设置主机名、DNS解析、时钟同步、防火墙关闭、ssh免密登录等等系统基本设置 dnf install -y curl socat conntrack ebtables ipset ipvsadm 2. 安装部署 K8s 2.1 下载 KubeKey ###地址 https…...

FreeSWITCH 纯内网配置

纯内网&#xff0c;且同一个网段&#xff0c;Fs 可简化配置&#xff0c;要点是: 1. 不需要事先配置 directory&#xff0c;任意号码都可以注册&#xff0c;且无挑战 2. 呼叫无挑战 不需要考虑那么多安全问题 配置如下&#xff1a; 1. 全局变量 <X-PRE-PROCESS cmd"…...

leetcode hot100:十四、解题思路大全:真·大全!

因为某大厂的算法没有撕出来&#xff0c;怒而整理该贴。部分题目有python版本的AC代码。本贴耗时4天呜呜呜 1.哈希 两数之和 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数&#xff0c;并返回它们的数组下…...