【Docker基础系列】Docker中如何管理数据
源自专栏《docker常用命令系列&&k8s系列目录导航》
文章目录
概览
在默认情况下,所有在容器内创建的文件都存储在一个可写的容器层中。这意味着:
- 当容器不再存在时,数据不会持久保存,如果其他进程需要这些数据,则很难从容器中获取数据。
- 容器的可写层与运行容器的主机机器紧密耦合。您无法轻松地将数据移动到其他位置。
- 写入容器的可写层需要一个存储驱动程序来管理文件系统。存储驱动程序提供一个联合文件系统,使用Linux内核。这种额外的抽象会降低性能,与直接写入主机文件系统的数据卷相比。
Docker为容器在主机机器上存储文件提供了两种选项,以便文件在容器停止后仍然持久保存:数据卷和绑定挂载。
Docker还支持容器在主机机器内存中存储文件。这些文件不会持久保存。如果您在Linux上运行Docker,则会使用tmpfs挂载将文件存储在主机的系统内存中。如果您在Windows上运行Docker,则会使用命名管道将文件存储在主机的系统内存中。
选择正确的挂载类型
无论您选择使用哪种类型的挂载,从容器内部看,数据都是相同的。它会以目录或容器文件系统中的单个文件的形式暴露。
想要更清晰地理解数据卷、绑定挂载和tmpfs挂载之间的区别,可以考虑数据在Docker主机上的存储位置。
挂载类型及其在Docker主机上的位置

-
数据卷存储在Docker管理的主机文件系统的一部分(在Linux上为
/var/lib/docker/volumes/)。非Docker进程不应修改此文件系统的这一部分。数据卷是在Docker中持久保存数据的最佳方式。 <

本文介绍了Docker中管理数据的三种方式:数据卷、绑定挂载和tmpfs挂载,详细阐述了它们的特点、使用场景及优缺点。数据卷是持久保存数据的最佳方式,绑定挂载适用于共享主机文件,tmpfs挂载则用于临时存储不需持久化的数据。文章还提供了各种挂载类型的使用技巧。
最低0.47元/天 解锁文章






