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

【Docker】从零开始:12.容器数据卷

【Docker】从零开始:12.容器数据卷

  • 1.什么是容器数据库卷
  • 2.数据的覆盖问题
  • 3.为什么要用数据卷
  • 4.Docker提供了两种卷:
  • 5.两种卷的区别
  • 6.bind mount
  • 7.Docker managed volume
    • volume 语法
    • volume 操作参数

1.什么是容器数据库卷

  • 卷 就是目录或文件,存在于一个或多个容器中,由docker挂载到容器,但不属于联合文件系统,因此能够绕过Union File System提供一些用于持续存储或共享数据的特性。
    卷的设计目的就是数据的持久化,完全独立于容器的生存周期,因此Docker不会在容器删除时删除其挂载的数据卷。

将docker容器内的数据保存进宿主机的磁盘中。docker 将应用与运行的环境打包成镜像,run后形成容器实例运行 ,但是我们对数据的要求希望是持久化的。
Docker容器产生的数据,如果不备份,那么当容器实例删除后,容器内的数据自然也就没有了。为了能保存数据,在docker中我们使用卷。
在这里插入图片描述

2.数据的覆盖问题

如果挂载一个空的数据卷到容器中的一个非空目录中,那么这个目录下的文件会被复制到数据卷中。

  1. 如果挂载一个非空的数据卷到容器中的一个目录中,那么容器中的目录中会显示数据
  2. 卷中的数据。如果原来容器中的目录中有数据,那么这些原始数据会被隐藏掉。

3.为什么要用数据卷

  • docker分层文件系统
    • 性能差
    • 生命周期与容器相同
  • docker数据卷
    • mount到主机中,绕开分层文件系统
    • 和主机磁盘性能相同,容器删除后依然保留
    • 仅限本地磁盘,不能随容器迁移

4.Docker提供了两种卷:

  1. bind mount
  2. Docker managed volume

5.两种卷的区别

在这里插入图片描述

6.bind mount

  • bind mount 是将主机上的目录或文件mount到容器里。 使用直观高效,易于理解。 使用 -v 选项指定路径,格式 [host path]:[container path]
  • bind mount必须指定host文件系统路径,限制了移植性。
docker run --rm -it -v [本地路径]:[Docker内路径] [images]

7.Docker managed volume

  • docker managed volume不需要指定mount源,docker自动为容器创建数据卷目录。
  • 默认创建的数据卷目录都在/var/lib/docker/volumes中。
  • 如果挂载时指向容器内已有的目录,原有数据会被复制到volume中。
  • 只能支持目录的挂载,不能支持文件的挂载
docker run --rm -it -v [卷名称]:[Docker内路径] [images]

volume 语法

docker volume [COMMAND]

volume 操作参数

参数说明
create创建卷
inspect查看卷信息
ls卷列表
prune删除没用的卷
rm删除一个或多个卷

http://www.kler.cn/a/146684.html

相关文章:

  • 记录———封装uni-app+vant(u-upload)上传图片组件
  • Springboot开发常见问题及对应的解决方案
  • 杰发科技AC7801——ADC定时器触发的简单使用
  • k8s上部署redis高可用集群
  • 20241116解决在WIN11和ubuntu20.04通过samba共享时出现局域网千兆带宽拉满的情况
  • sqli—labs靶场 5-8关 (每日4关练习)持续更新!!!
  • 入侵redis之准备---VMware上面安装部署centos7镜像系统【详细含云盘镜像】
  • Pinctrl子系统和GPIO子系统实验
  • ESP32 ESP-IDF5.1 在Visual Studio Code中自定义分区表与调整Flash大小
  • 第二证券:煤炭板块震荡走高 潞安环能、晋控煤业涨超5%
  • Flask Paginate实现表格分页
  • 计算机基础知识详细讲解
  • Selenium中常用的JS操作总结
  • 详解Java中的泛型(泛型的语法,擦除机制,泛型的上界)
  • 【中间件】消息队列中间件intro
  • OpenCV快速入门:图像分析——图像分割和图像修复
  • 【古诗生成AI实战】之三——任务加载器与预处理器
  • 《opencv实用探索·二》根据RGB的像素排列来理解图像深度、像素深度和位深度
  • Python与设计模式--建造者模式
  • 【M365运维】修复Bitlocker在AAD里没有密钥的故障
  • 基于C++实现水仙花数
  • STM32 F1 串口空闲中断 + DMA实现数据发送
  • 数据结构 / 结构体位域
  • 以太网通讯协议小结--持续更新中
  • Shell 脚本自动化备份与恢复实践
  • CSGO搬砖如何选品?选品软件和教程靠谱吗?