从 01 开始 从 01 开始
首页
  • 📚 计算机基础

    • 计算机简史
    • 数字电路
    • 计算机组成原理
    • 操作系统
    • Linux
    • 计算机网络
    • 数据库
    • 编程工具
    • 装机
  • 🎨 前端

    • Node
  • JavaSE
  • Java 高级
  • JavaEE

    • 构建、依赖管理
    • Ant
    • Maven
    • 日志框架
    • Junit
    • JDBC
    • XML-JSON
  • JavaWeb

    • 服务器软件
    • 环境管理和配置管理-科普篇
    • Servlet
  • Spring

    • Spring基础
  • 主流框架

    • Redis
    • Mybatis
    • Lucene
    • Elasticsearch
    • RabbitMQ
    • MyCat
    • Lombok
  • SpringMVC

    • SpringMVC 基础
  • SpringBoot

    • SpringBoot 基础
  • Windows 使用技巧
  • 手机相关技巧
  • 最全面的输入法教程
  • 最全面的浏览器教程
  • Office
  • 图片类工具
  • 效率类工具
  • 最全面的 RSS 教程
  • 码字工具
  • 各大平台
  • 校招
  • 五险一金
  • 职场规划
  • 关于离职
  • 杂谈
  • 自媒体
  • 📖 读书

    • 读书工具
    • 走进科学
  • 🌍 英语

    • 从零开始学英语
    • 英语兔的相关视频
    • Larry 想做技术大佬的相关视频
  • 🏛️ 政治

    • 新闻合订本
    • 反腐
    • GFW
    • 404 内容
    • 审查与自我审查
    • 互联网
    • 战争
    • 读书笔记
  • 💰 经济

    • 关于税
    • 理财
  • 💪 健身

    • 睡眠
    • 皮肤
    • 口腔健康
    • 学会呼吸
    • 健身日志
  • 🏠 其他

    • 驾驶技能
    • 租房与买房
    • 厨艺
  • 电影

    • 电影推荐
  • 电视剧
  • 漫画

    • 漫画软件
    • 漫画推荐
  • 游戏

    • Steam
    • 三国杀
    • 求生之路
  • 小说
  • 关于本站
  • 关于博主
  • 打赏
  • 网站动态
  • 友人帐
  • 从零开始搭建博客
  • 搭建邮件服务器
  • 本站分享
  • 🌈 生活

    • 2022
    • 2023
    • 2024
    • 2025
  • 📇 文章索引

    • 文章分类
    • 文章归档

晓林

程序猿,自由职业者,博主,英语爱好者,健身达人
首页
  • 📚 计算机基础

    • 计算机简史
    • 数字电路
    • 计算机组成原理
    • 操作系统
    • Linux
    • 计算机网络
    • 数据库
    • 编程工具
    • 装机
  • 🎨 前端

    • Node
  • JavaSE
  • Java 高级
  • JavaEE

    • 构建、依赖管理
    • Ant
    • Maven
    • 日志框架
    • Junit
    • JDBC
    • XML-JSON
  • JavaWeb

    • 服务器软件
    • 环境管理和配置管理-科普篇
    • Servlet
  • Spring

    • Spring基础
  • 主流框架

    • Redis
    • Mybatis
    • Lucene
    • Elasticsearch
    • RabbitMQ
    • MyCat
    • Lombok
  • SpringMVC

    • SpringMVC 基础
  • SpringBoot

    • SpringBoot 基础
  • Windows 使用技巧
  • 手机相关技巧
  • 最全面的输入法教程
  • 最全面的浏览器教程
  • Office
  • 图片类工具
  • 效率类工具
  • 最全面的 RSS 教程
  • 码字工具
  • 各大平台
  • 校招
  • 五险一金
  • 职场规划
  • 关于离职
  • 杂谈
  • 自媒体
  • 📖 读书

    • 读书工具
    • 走进科学
  • 🌍 英语

    • 从零开始学英语
    • 英语兔的相关视频
    • Larry 想做技术大佬的相关视频
  • 🏛️ 政治

    • 新闻合订本
    • 反腐
    • GFW
    • 404 内容
    • 审查与自我审查
    • 互联网
    • 战争
    • 读书笔记
  • 💰 经济

    • 关于税
    • 理财
  • 💪 健身

    • 睡眠
    • 皮肤
    • 口腔健康
    • 学会呼吸
    • 健身日志
  • 🏠 其他

    • 驾驶技能
    • 租房与买房
    • 厨艺
  • 电影

    • 电影推荐
  • 电视剧
  • 漫画

    • 漫画软件
    • 漫画推荐
  • 游戏

    • Steam
    • 三国杀
    • 求生之路
  • 小说
  • 关于本站
  • 关于博主
  • 打赏
  • 网站动态
  • 友人帐
  • 从零开始搭建博客
  • 搭建邮件服务器
  • 本站分享
  • 🌈 生活

    • 2022
    • 2023
    • 2024
    • 2025
  • 📇 文章索引

    • 文章分类
    • 文章归档
  • 计算机简史

  • 数字电路

  • 计算机组成原理

  • 操作系统

  • Linux

    • Linux 命令学习

    • 文本处理三剑客

    • Linux安全

    • Docker

      • 尚硅谷Docker实战教程

        • 教程简介
        • Docker 简介
        • Docker 安装
        • Docker 配置国内镜像源
        • Docker 常用命令
        • 镜像的分层概念
        • 发布镜像
        • Docker 私有库
        • 容器数据卷
          • privileged 参数
          • 容器卷
          • 实践
          • 读写规则映射
          • 容器卷之间的继承和共享
        • Docker 常用软件安装
        • MySQL 主从复制
        • 分布式存储之哈希取余算法
        • 3 主 3 从Redis集群搭建与扩缩容
        • Dockerfile
        • 虚悬镜像
        • Docker 微服务实战
        • Docker 网络
        • Docker-compose 容器编排
        • Portainer
        • Docker 重量级监控
        • Docker 系列完结
        • 记一次启动容器失败
  • 计算机网络

  • 数据库

  • 编程工具

  • 装机

  • 计算机基础
  • Linux
  • Docker
  • 尚硅谷Docker实战教程
2023-09-18
目录

容器数据卷

# 70.容器数据卷

上一篇启动 registry 的时候,用了 -v 和--privileged 参数,本文就讲解这两个参数的含义

‍‍

# privileged 参数

在 CentOS7 中,安全模块会比之前系统版本加强,不安全的行为会先禁止,而目录挂载的情况被默认为不安全的行为,因此我们在启动私服的时候,可能会被禁止,报错 cannot open directory .: Permission denied​

在 SELinux 里挂载目录是的被禁止的,如果要开启,一般使用 --privileged=true 命令,扩大容器的权限解决挂载目录没有权限的问题。使用该参数,container 内的 root 拥有真正的 root 权限。否则,container 内的 root 只是外部的一个普通用户权限。 ‍

# 容器卷

Docker 容器产生的数据,如果不备份,那么当容器实例删除后,容器内的数据自然也就没有了。

之前用的 -v 参数,就是配置容器卷的(volume,简写为 v)。

卷就是目录或文件,存在于一个或多个容器中,由 Docker 挂载到容器,但不属于联合文件系统,因此能够绕过 Union File System 提供一些用于持续存储或共享数据的特性:

卷的设计目的就是数据的持久化,完全独立于容器的生存周期,因为 Docker 不会在容器删除时删除其挂载的数据卷

有点类似 Redis (opens new window) 里面的 rdb 和 aof 文件,将容器内的数据保存进宿主机的磁盘中。

卷的特点:

  1. 数据卷可在容器之间共享或重用数据
  2. 卷中的更改可以直接实时生效
  3. 数据卷中的更改不会包含在镜像的更新中
  4. 数据卷的生命周期一直持续到没有容器使用它为止 ‍

# 实践

运行一个带有容器卷存储功能的容器实例:

$ docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录 镜像名
1

默认情况,仓库被创建在容器的 /var/lib/registry​,建议自行用容器卷映射。

例如启动一个 Ubuntu,并创建一个 txt 文件:

$ docker run -it --privileged=true -v /tmp/host_data:/tmp/docker_data --name=u1 ubuntu
$ cd /tmp/docker_data/
$ touch dockerin.txt
1
2
3

如果目录不存在,Docker 会自动创建

然后回到宿主机,可以看到也有文件:

$ ls /tmp/host_data/
dockerin.txt
1
2

即使容器 stop 了,宿主机修改文件,容器重启后也会同步数据。

除此之外,也可以用 inspect 命令,查看挂载是否成功:

$ docker ps
CONTAINER ID   IMAGE      COMMAND   CREATED       STATUS          PORTS     NAMES
9bd7aa9d30cd   ubuntu     "bash"    3 minutes ago  Up 3 minutes              u1

$ docker inspect 9bd7aa9d30cd
.............
"Mounts": [
            {
                "Type": "bind",
                "Source": "/tmp/host_data",
                "Destination": "/tmp/docker_data",
                "Mode": "",
                "RW": true,
                "Propagation": "rprivate"
            }
        ],
.................
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

‍ 随着后续深入的学习,-v 可以配置多个目录共享,例如一个是数据目录,一个是日志目录,一个是配置文件目录等。

# 读写规则映射

使用了-v 参数后,默认数据是共享的,也就是支持读写(read 和 write,简写为 rw),完整的命令是这样,在容器内目录后面有个 rw:

$ docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录:rw    镜像名
1

而有时候需要配置只读或者只写,也是可以的。例如设置容器只能读取:

$ docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录:ro   镜像名
1

这里设置了 ro,也就是 read only,只能读不能写 ‍

# 容器卷之间的继承和共享

有时候可能会有多个容器都使用一个宿主机的目录,此时就可以用继承的方式来完成共享。

在实践之前,可以先删掉所有的容器,方便观察。新建一个 Ubuntu:

$ docker run -it --privileged=true -v /mydocker/u:/tmp --name u1 ubuntu
$ cd /tmp
$ touch u1_data.txt
1
2
3

此时我们想要建立一个和 u1,同样读写规则的 ubuntu,就可以用继承了。命令格式:

docker run -it  --privileged=true --volumes-from 父类  --name u2 ubuntu
1

‍ 该容器和 u1 是共享目录的:

$ docker run -it --privileged=true --volumes-from u1 --name u2 ubuntu
$ cd /tmp
$ ls
u1_data.txt
1
2
3
4

‍ 两个容器可以通过该目录来共享数据 ‍ (完)

上次更新: 2025/5/5 17:15:09
Docker 私有库
Docker 常用软件安装

← Docker 私有库 Docker 常用软件安装→

最近更新
01
新闻合订本 2025-10
10-31
02
2025 年 10 月记
10-30
03
用 AI 批量优化思源笔记排版
10-15
更多文章>
Theme by Vdoing | Copyright © 2022-2025 | 粤 ICP 备 2022067627 号 -1 | 粤公网安备 44011302003646 号 | 点击查看十年之约
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式