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

9.Docker的容器数据卷使用(挂载)

什么是容器数据卷技术?

到这里,我算是入门docker了!

docker的理念:将环境和应用打包成一个镜像!直接安装就能使用

如果数据都在容器中,那么我们一旦将容器删除,数据就会丢失!因为你只读层没有更改,相当于就是镜像层没有改变

==需求:数据持久化==

比如你有一容器是MySQL,你一旦删除这个mysql容器,里面数据丢失,那你相当于就是删库跑路,风险很大。==需求:这mysql的数据不要存储在本地!==

容器之间可以有一个数据共享的技术,Docker容器中产生的数据,同步到本地!

我把容器删除,但我们的数据不会丢失,其实就是目录的挂载

将我们容器的目录,挂载到我们的虚拟机上或者linux上面

卷就是目录或者文件,存在与一个或中多个容器内,通过docker挂在到容器内,但不属于联合文件系统,提供持续存储或共享数据的特性。

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

可以理解为容器内的数据持续的保存到我们宿主机的磁盘中。

容器数据卷技术能干什么?

1.数据卷可以在容器之间共享或重用数据

2.卷中的更改可以直接实时生效

3.数据卷中的更改不会包含在镜像的更新中

4.数据卷的生命周期一直持续到没有容器使用它为止。

相关的命令与参数

--privileged=true,权限扩容的意思,只有这个参数,这个容器内的root才会有root权限

docker run -d -p 8080:8080 -v /zzyyuse/mycentos/:/tem/centos --privileged=true centos7

-v /zzyyuse/mycentos/:/tem/centos --privileged=true(-v 宿主机的绝对路径:容器内的路径,放开权限)

数据卷案例
1.宿主机和容器内之间映射:保证数据同步

命令docker run -d

首先就是查看宿主机上tmp目录文件,可以发现没有

现在通过命令:

docker run -it --privileged=true -v /tmp/centos10:/tmp/centos10docker -

-name centos10 centos

创建这个数据卷成功

回宿主机上查看tmp目录下,发现自动创建了一个centos10目录

首先是宿主机上操作

我写了一个hello docker内容的文件进入这个目录

进入docker容器,发现这个文件也存在。这里并不能说明内容共享,只是单方面。

接着是在容器里面操作

追加一行代码

在宿主机上打印

可以发现hello baby出现在容器内,这里结合上面内容可以说明数据卷的共享性

查看数据卷是否挂在成功,或者说挂载在哪里?

docker inspect 容器ID

现在我停止容器centos10

在宿主机上创建1.txt

启动,进入这个centos10容器

发现也有1.txt文件,这就是挂载。

(2)容器卷的读写规则

我们上面使用的是默认规则,相互可以写

但这里我们可以设置,宿主机只能读,不能写,或者容器内只能读取

命令:docker run -it --privileged=true -v /tmp/centos10:/tmp/centos10docker:ro -

-name centos10 centos

解释:ro = read only的意思

这里有点错误,无伤大雅

我想在容器里面创建hello文件,但是不可以,而在宿主机上面可以创建hello.txt,

(3)容器卷的继承

1)先容器卷的创建

docker run -it --privileged=true -v /tmp/u1host:/tmp/u1docker --name u1 centos

docker容器 u1

宿主机

2)容器u2继承容器u1的容器卷

docker run -it --privileged=true --volumes-from u1 --name u2 centos

这个参数中--volumes其实就是我们-v的完整名字

这里我touch创建了一个udocker的txt文件,看看u1是否也可以看见

这里你可以发现u1其实也是

http://www.lryc.cn/news/579341.html

相关文章:

  • CAD2018,矩形设计,新增文字,块新增与打散
  • snail-job的oracle sql(oracle 11g)
  • OFD|WPS|PDF 文档在线预览-高级功能
  • 前置代理重构网络访问的「中转站」
  • AI大模型的技术演进、流程重构、行业影响三个维度的系统性分析
  • 嵌入式系统中实现串口重定向
  • DMN方式的特点
  • 《P2572 [SCOI2010] 序列操作》
  • maker-pdf 文档文字识别,并用python实现
  • 专题:2025即时零售与各类人群消费行为洞察报告|附400+份报告PDF、原数据表汇总下载
  • 2025年6月:技术探索与生活平衡的协奏曲
  • 从零开始构建Airbyte数据管道:PostgreSQL到BigQuery实战指南
  • 基于定制开发开源AI智能名片与S2B2C商城小程序的搜索区用户需求洞察与精准服务研究
  • WebRTC 安全性分析研究
  • C# 线程同步(一)同步概念介绍
  • 网络安全的未来趋势与挑战
  • 好用的自带AI功能的国产IDE
  • Java-63 深入浅出 分布式服务 网络通信 RPC 与 RMI 详解
  • Spring 为何需要三级缓存解决循环依赖,而不是二级缓存
  • 【网络安全】Webshell命令执行失败解决思路
  • 【第十一篇】SpringBoot缓存技术
  • Javaweb - 10.1 Servlet
  • C盘空间的“元凶”——虚拟内存的神秘面纱
  • css ::before学习笔记
  • 专业AI工具导航与人工智能学习平台AIbase.cn 连接现在与AI未来的智能桥梁
  • YOLO基础算法入门之YOLOv8中的C2f(C2-Faster)高效特征提取结构
  • STC8G 8051内核单片机开发 (中断)
  • 算法学习笔记:4.KMP 算法——从原理到实战,涵盖 LeetCode 与考研 408 例题
  • 家政维修小程序源码php方案解析
  • FASTAPI+VUE3平价商贸管理系统