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

Docker进阶篇1:什么是Docker数据卷?为什么需要Docker数据卷?Docker数据卷3种类型介绍

大家好我是木木,在当今快速发展的云计算与云原生时代,容器化技术蓬勃兴起,Docker 作为实现容器化的主流工具之一,为开发者和运维人员带来了极大的便捷 。下面我们一起开始进阶第1篇:什么是Docker数据卷?为什么需要Docker数据卷?Docker数据卷3种类型介绍。

什么是Docker数据卷?

实现宿主机和Dokcer容器或者多个Docker容器之间的数据共享和数据持久化功能。

为什么需要Docker数据卷?

持久化:Docker容器中默认所有的数据都是存储在Docker容器中,当Docker容器删除后,数据也将会删除。这就会导致我们的数据丢失,那么Docker容器中的数据如何持久化?

数据共享:Docker容器数据都存储在自己内部容器中,如果使用多个Docker容器如何实现数据的共享?

案例:公司使用Docker容器部署一套高可用系统,架构是1个业务系统、2个MySQL数据库+2个Nginx进行负载均衡,实现系统的高可用,现在的容器数据都是在自己的容器内部,那么几个容器间的数据如何共享?如果其中一个MySQL容器的损坏里面的数据怎么办了?

通过Docker数据卷可以解决上诉所说的数据共享、数据持久化等一系列问题。

Docker数据卷有3种类型:

Linux下一切皆文件,文件就是文件目录。

匿名卷:创建容器时只需要指定容器内部的挂载文件,不用指定宿主机的挂载文件名,此时Docker会自动在宿主机中随机为文件命名并在默认位置创建一个文件作为数据卷的数据存放点。

解析:不需要指定容器内文件挂载(文件的存放位置)到宿主机具体位置和挂载的文件名,可以使用匿名卷。

具名卷:具名卷和匿名卷的功能一样,比匿名卷的优点是可以为数据卷指定一个具体的名称,该名称可以很好的识别数据卷并进行管理。

解析:不需要指定容器内文件挂载到宿主机具体位置但是需要指定挂载的文件名,可以使用具名卷。

绑定卷-Bind Mounts(该种方法是最常用的):匿名卷和具名卷只能设置挂载到宿主机卷的名称,不能指定宿主机的存放位置,跟上面的2种类型相比,它优点是:可以指定容器内部的数据挂载到宿主机的具体文件位置。

解析:需要指定容器内文件挂载到宿主机具体位置并且还需要指定挂载的文件名,可以使用绑定卷。

 常见问题

1、使用匿名卷和具名卷默认创建的数据卷存放位置在哪里?

答:在/var/lib/docker/volumes下。

下图创建一个匿名卷:nginx容器内部的/var/log/nginx进行匿名挂载到宿主机中,并进入默认数据卷位置,查看匿名挂载的名称。

 

相关文章:

  • 5、MySQL为什么使用 B+树 来作索引【高频】
  • 【机器学习chp14 — 2】生成式模型—变分自编码器VAE(超详细分析,易于理解,推导严谨,一文就够了)
  • 从零开始实现 C++ TinyWebServer 缓冲区 Buffer类详解
  • 【万字总结】前端全方位性能优化指南(一)——Brotli压缩、CDN智能分发、资源合并
  • 界面控件DevExpress WinForms v25.1预览 - 提升.NET开发效率
  • Spark 中agg的用法
  • 《Python深度学习》第四讲:计算机视觉中的深度学习
  • AI实干家:HK深度体验-【第3篇-香港、新加坡、深圳、上海、首尔五座城市在金融数据维度的对比分析】
  • 【机器学习chp14 — 1】生成式模型概述和主要思想(超详细分析,易于理解,推导严谨,一文就够了)
  • ArkTS 基础语法介绍
  • Oracle Exadata KVM 虚拟化
  • Kafka 八股文
  • jmeter验证正则表达式提取值是否正确
  • 【数学建模】模糊综合评价模型详解、模糊集合论简介
  • 多包管理工具
  • War包方式打包部署
  • DeepSeek(8):结合Kimi-PPT助手一键生成演示报告
  • 非对称加密算法及逆向数据分析研究
  • React性能优化的深度解析:React.memo和useMemo的真相与误区
  • 【Java】链表(LinkedList)(图文版)
  • 日均新开三家“首店”,上海的“首发经济”密码是什么?
  • ​王毅会见塔吉克斯坦外长穆赫里丁
  • 最新研究挑战男性主导说:雌性倭黑猩猩联盟对付雄性攻击,获得主导地位
  • 中国驻英国大使郑泽光:中国需要世界,世界也需要中国
  • 神舟二十号3名航天员顺利进驻中国空间站
  • 三亚亚龙湾3.4公里岸线近岸海域使用权挂牌出让,起始价近九千万