Docker入门系列--Docker数据存储(八)

本文深入探讨Docker数据卷的概念,包括数据卷的特性和意义,详细解析数据卷的三种类型:Bindmountvolume、Dokcer-managedvolume和UnionVolume。文章还介绍了如何在容器中使用数据卷,以及Docker存储驱动的重要性,特别是overlayfs驱动的性能和稳定性优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Docker入门系列–Docker数据存储(八)

1、数据卷特性

  • Docker镜像由多个只读层叠加而成,启动容器时,Docker会加载只读镜像层,并在镜像栈定不添加一个读写层

  • 如果运行中的容器修改可现有的一个已经存在的文件,那么该文件将会从读写层下面的只读层复制到读写层,该文件的只读版本仍然存在,只是已经被读写层中该文件的副本所隐藏,次即“写时复制”机制
    在这里插入图片描述2、数据卷的意义

  • Volume可以在运行容器时即完成创建与绑定操作。当然,前提需要拥有对应的申明

  • Volume的初衷就是数据持久化
    在这里插入图片描述
    3、数据卷的类型

  • Bind mount volume

  • Dokcer-managed volume
    在这里插入图片描述4、容器中使用数据卷的方法

  • Docker-managed Volume
     docker run -it --name roc -v MOUNTDIR roc.lamp:v1.0
    &emps;docker inspect -f {{.Mounts}} roc

  • Bind-mount Volume
     docker run -it -name roc -v HOSTDIR;VOLUMEDIR roc/lamp:v1.0

  • Union Volume
     docker run -it --name roc --volumes-from ContainerName roc/lamp:v1.0

    5、存储驱动

Docker存储驱动(storage driver)是Docker的核心组件,它是Docker实现分成镜像的基础

  • device mapper(DM):性能和稳定性存在问题,不推荐生产环境使用
  • btrfs:社区实现了btrfs driver,稳定性和性能存在问题
  • overlayfs:内核3.18overlayfs进入主线,性能和稳定性优异,第一选择
    在这里插入图片描述
    mount -t overlay overlay-olowerdir=./low,upper,workdir=./work./mergedd

修改为overlayfs存储驱动
echo “overlay” > /etc/modules-load.d/overlay.conf
cat/proc/modules|grep overlay
reboot
vim /etc/systemd/system/docker.service
–storage-drive=overlay

容器数据卷
将运用与运行的环境打包行程容器运行,运行可以伴随着容器,但是我们对数据的要求希望是持久化的
容器之间希望有可能共享数据

Docker容器生产的数据,如果不通过docker commit生成镜像,使得数据作为镜像的一部分保存下来,那么当然偶偶那个气删除后,数据自然也就没有了
为了能保存数据在docker中我们使用卷
直接命令添加
命令:docker run -it -v /宿主机绝对路径目录:/容器内目录 镜像名
docker run -it -v /myDataVolume:/dataVolumeContainer centos /bin/bash
docker run -it -v /myDataVolume:/dataVolumeContainer:rw centos /bin/bash
查看数据卷是否挂载成功
docker run -it --name dc02 --volumes-from dc01 zzyy/centos 容器间传递共享(–volume-from)
结论:容器之间配置信息传递,数据卷的生命周期一直持续到没有容器使用它为止。

配置容器数据卷

1.创建启动c3数据卷荣容器,使用-v参数设置数据卷
docker run -it --name c3 -v /volume centos:7 /bin/bash
2.创建启动c1、c2容器。使用volumes-from参数设置数据卷
docker run -it --name c1 --volumes-from c3 centos:7
docker run -it --name c2 --volumes-from c3 centos:7
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值