Docker 容器数据卷介绍|学习笔记

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 快速学习 Docker 容器数据卷介绍

开发者学堂课程【Docker 快速入门Docker 容器数据卷介绍】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/850/detail/14041


Docker 容器数据卷介绍


内容介绍

一.Docker 容器数据卷是什么

二.Docker 容器数据卷能干嘛


一、Docker 容器数据卷是什么

先来看看 Docker 的理念:

将运用上与运行的环境打包形成容器运行,运行可以伴随着容器,但是我们对数据的要求希望是持久化的

容器之间希望有可能共享数据

Docker 容器产生的数据,如果不通过 docker commit 生成新的镜像,使得数据做为镜像的一部分保存下来。那么当容器删除后,数据自然也就没有了。

为了能保存数据在 docker 中我们使用卷。

镜像和容器的关系前面已经有过了解。假设现在 docker 里面跑的数据可能对于一部分的运算结果或日志信息需要把它长久的保存下来,相当于容器数据卷做的事就是能够把容器 docker 要运行产生的数据持久化。

当我们运行完一个容器要关闭的时候,容器上的数据没有办法保持。但是部分内容希望能把它保存下来,做到持久化。不能说容器关了,数据就没了,就像内存一样。

在运行中数据是在内存中,但是我们希望可以把它保存到硬盘上。这些数据如果想持久化,就要把它保存进数据库或者保存。

docker 里面的数据、在容器内的数据,有时候就像是在内存中的数据,但是一关闭重启它就没有了。相当于大家下课以后来插到老师笔记本硬盘上拷贝资料的你们手上的活动硬盘。

两个月前我们学过 redis,redis 是一种分布式的内存数据库。内存中的东西断电就没有了,但是下次开机器的时候 redis 的数据能下载回来是为什么呢?

不是说 redis 是内存数据库,数据都在内存的内存断电数据就没了,那为什么充电可以恢复,重启以后有哪些数据呢?

redis 非常重要的理念是叫 redis 数据持久化,也就是 rdb 和 aof。所以说容器数据卷就是 docker 里面的 rdb 和 aof。


二.Docker 容器数据卷能干嘛

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

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

特点:

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

2:卷中的更改可以直接生效

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

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

从容器内拷贝文件到主机上——docker cp 容器 ID:容器内路径目的主机路径

-容器的持久化

-容器间继承+共享数据

举个例子,拷资料时,老师讲课的笔记本是源头,同学们的活动硬盘是做持久化的东西,否则机器总有要关机的一天,现在录的视频就没了。

Docker cp 是什么?

是容器内的路径到目的主机路径。当完成了从容器拷贝回主机,假如你活动硬盘上有一部电影刚好下载好了,那么活动硬盘就可以拷回到老师的主机上面,这时就单向的完成了容器到主机。

反过来,从主机到容器,主机和容器之间像是活动外置、活动硬盘插上笔记本电脑一样,可以互通有无,两个设备都可以共享数据。

容器卷也可以完成主机到容器,容器到主机之间的数据共享,这就是数据容器卷的理念。

相关文章
|
1月前
|
监控 Kubernetes 安全
还没搞懂Docker? Docker容器技术实战指南 ! 从入门到企业级应用 !
蒋星熠Jaxonic,技术探索者,以代码为笔,在二进制星河中书写极客诗篇。专注Docker与容器化实践,分享从入门到企业级应用的深度经验,助力开发者乘风破浪,驶向云原生新世界。
还没搞懂Docker? Docker容器技术实战指南 ! 从入门到企业级应用 !
|
1月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
344 5
|
1月前
|
监控 Linux 调度
【赵渝强老师】Docker容器的资源管理机制
本文介绍了Linux CGroup技术及其在Docker资源管理中的应用。通过实例演示了如何利用CGroup限制应用程序的CPU、内存和I/O带宽使用,实现系统资源的精细化控制,帮助理解Docker底层资源限制机制。
168 6
kde
|
1月前
|
存储 关系型数据库 MySQL
MySQL Docker 容器化部署全指南
MySQL是一款开源关系型数据库,广泛用于Web及企业应用。Docker容器化部署可解决环境不一致、依赖冲突问题,实现高效、隔离、轻量的MySQL服务运行,支持数据持久化与快速迁移,适用于开发、测试及生产环境。
kde
416 4
|
3月前
|
Kubernetes Docker Python
Docker 与 Kubernetes 容器化部署核心技术及企业级应用实践全方案解析
本文详解Docker与Kubernetes容器化技术,涵盖概念原理、环境搭建、镜像构建、应用部署及监控扩展,助你掌握企业级容器化方案,提升应用开发与运维效率。
791 108
|
4月前
|
存储 监控 测试技术
如何将现有的应用程序迁移到Docker容器中?
如何将现有的应用程序迁移到Docker容器中?
417 57
|
4月前
|
存储 监控 Java
如何对迁移到Docker容器中的应用进行性能优化?
如何对迁移到Docker容器中的应用进行性能优化?
347 59