docker 中 什么是「卷」?(Volume)

🗃️ 什么是「卷」?(Volume)

「卷」就是 Docker 里用来 "保存数据"的一块空间,就像是一个外接硬盘,或者一个 USB 闪存。

容器本身是临时的,你一删它,它的数据也跟着没了。但卷是用来"长期保存数据"的地方,就算容器删了,卷里的数据还在!


📘 举个具体的例子:

你有个 MySQL 容器,它把数据(用户表、订单表等等)全都保存在一个**卷(volume)**里:

yaml 复制代码
services:
  db:
    image: mysql
    volumes:
      - mysql_data:/var/lib/mysql

volumes:
  mysql_data:
  • /var/lib/mysql 是 MySQL 容器里保存数据的路径,
  • mysql_data 是你创建的一个卷(Volume),实际是一个本地文件夹或者特殊的 Docker 存储空间。

👨‍🔧 如果你以后重启容器,数据还在。

💥 但如果你删了这个卷,数据库就像重装了,什么表都没了。


🧨 所以,当你运行:

bash 复制代码
sudo docker-compose down
  • 它默认不会删卷(安全一点,避免误删数据)。
  • 如果你真的想清掉卷,可以加一个参数:
bash 复制代码
sudo docker-compose down -v

💥 这个 -v 就是:

"连同这些保存数据的卷也一并删除",就像把硬盘格式化了!


📦 总结一下:

名词 人话解释 类比
容器 一个正在运行的小程序 程序
卷(volume) 存数据的"外接硬盘" U盘、D盘
down 停服务,但保留卷数据 程序关了,数据还在
down -v 停服务并清空数据 程序关了,硬盘也格式化了

docker volume ls 查看所有卷~

相关推荐
物联网老王2 小时前
Ubuntu Linux Cursor 安装与使用一
linux·运维·ubuntu
艾伦_耶格宇3 小时前
【ACP】阿里云云计算高级运维工程师--ACP
运维·阿里云·云计算
FrankYoou4 小时前
Jenkins 与 GitLab CI/CD 的核心对比
java·docker
一位摩羯座DBA4 小时前
Redhat&Centos挂载镜像
linux·运维·centos
隆里卡那唔4 小时前
在dify中通过http请求neo4j时为什么需要将localhost变为host.docker.internal
http·docker·neo4j
疯子的模样4 小时前
Docker 安装 Neo4j 保姆级教程
docker·容器·neo4j
cui_win5 小时前
【网络】Linux 内核优化实战 - net.core.flow_limit_table_len
linux·运维·网络
风清再凯5 小时前
自动化工具ansible,以及playbook剧本
运维·自动化·ansible
深圳安锐科技有限公司5 小时前
深圳安锐科技发布国内首款4G 索力仪!让斜拉桥索力自动化监测更精准高效
运维·安全·自动化·自动化监测·人工监测·桥梁监测·索力监测
猫头虎5 小时前
猫头虎 AI工具分享:一个网页抓取、结构化数据提取、网页爬取、浏览器自动化操作工具:Hyperbrowser MCP
运维·人工智能·gpt·开源·自动化·文心一言·ai编程