术语图鉴/Docker 与容器/数据卷
切换Esc返回

数据卷 Volume

你可能会说

容器数据卷有问题,帮我排查一下。

容器里的数据默认随容器删除而消失。

容器里的数据默认随容器删除而消失。Volume 把数据存到容器外面,容器删了数据还在。

也常被叫作Volume

生活类比

像 U 盘——电脑(容器)坏了换一台,U 盘(Volume)里的文件还在。

🎮 动手试试

🐳 容器
💾 Volume (持久)
选择题选择一个你认为最合适的答案

关于「数据卷」,以下哪个描述最准确?

你可以这样告诉 AI

帮我在 docker-compose 里给 PostgreSQL 配一个命名卷,确保容器删了数据库数据不会丢

容易混淆?这样区分

数据卷 Volume
绑定挂载 Bind Mount

Volume 由 Docker 管理存储位置,与宿主机路径解耦,跨平台一致;Bind Mount 直接映射宿主机指定路径,依赖宿主机目录结构。

什么时候用

数据库持久化

MySQL、PostgreSQL 等有状态服务必须在容器删除后保留数据,用 Volume 把数据目录挂载到宿主机实现持久化。

和 AI 协作时

想让 AI 帮你配置数据持久化时,直接说「帮我在 docker-compose 中给 MySQL 加 volume,数据保存到命名卷 mysql-data」。

什么时候不用

临时缓存数据

可以接受容器删除后数据一起消失的临时数据如缓存、Session,用 tmpfs 或直接写容器内文件系统更简单。

无状态微服务

纯计算或转发型的无状态服务如 API 网关、静态文件服务,不产生需要持久化的数据,不需要挂载 Volume。

组成结构 · Anatomy

1
核心概念Core

容器里的数据默认随容器删除而消失。Volume 把数据存到容器外面,容器删了数据还在。

2
实际表现In Practice

像 U 盘——电脑(容器)坏了换一台,U 盘(Volume)里的文件还在。

3
与 AI 的关联AI Context

和 AI 沟通时提到「数据库要挂载 volume」,就是数据库文件要持久化,不能容器一删就没了。

典型使用场景

持久化数据库
告诉 AI「帮我在 docker-compose.yml 中给 MySQL 挂载 volume,数据存到 mysql-data 卷,方便备份和迁移」
想弄懂概念时
告诉 AI「用大白话给我解释什么是数据卷,举个生活中的例子」

延伸阅读