首页/云/云与容器速查/docker volume ls 数据卷列表
容器与 Docker106 条

docker volume ls 数据卷列表

列出数据卷名称与驱动。数据卷由 Docker 管理、生命周期独立于容器,默认 local 驱动落在宿主 /var/lib/docker/volumes 下,是持久化与多容器共享数据的首选。

云与容器速查云更新于 2026-10-13

docker volume ls 是什么

docker volume ls 列出本地数据卷及其驱动。数据卷由 Docker 管理,生命周期独立于容器:删容器不等于删卷。默认的 local 驱动物理位置在 /var/lib/docker/volumes 下,每个卷一个子目录。相比 bind mount,数据卷不依赖宿主目录结构,跨环境迁移与权限问题都更少,是持久化数据的首选方式。

基本信息

常用参数-q 只输出名称;--filter dangling=true 过滤未被容器的卷
默认驱动local,数据实际位于 /var/lib/docker/volumes/卷名/_data
匿名卷用 -v /data 未指定名字时随机生成一长串 ID 作为卷名
占用统计docker system df -v 可看每个卷的大小与引用容器
回收方式docker volume rm 卷名,或清理时用 --volumes 一并处理

典型使用场景

  • 持久化数据:数据库数据目录挂数据卷,容器重建数据仍在
  • 多容器共享:多个容器挂同一具名卷,共享上传目录或缓存
  • 卷泄漏排查:用 dangling 过滤找出已无容器引用的历史卷
  • 容量巡检:结合 system df -v 定位异常膨胀的卷
  • 环境重建:确认无用卷后批量删除,释放磁盘空间

常用示例

常用示例
docker volume ls                                 # 列出全部数据卷
docker volume ls --filter dangling=true          # 只看没有容器引用的卷
docker volume ls --format "{{.Name}}  {{.Driver}}" # 自定义输出,便于脚本处理
docker volume inspect mydata                     # 查看卷的挂载点与创建时间
docker volume rm mydata                          # 删除指定卷(需先停止引用它的容器)

卷与绑定挂载对比

维度数据卷绑定挂载
管理方由 Docker 统一管理由使用者自行管理宿主路径
默认路径/var/lib/docker/volumes/卷名/_data宿主任意路径
跨宿主迁移较容易,与宿主结构解耦需同步宿主目录与权限
权限问题较少,由 Docker 处理需处理 uid/gid 与 SELinux
清理方式docker volume rm直接删宿主目录
数据卷不会随容器删除自动回收:docker rm -v 只删除匿名卷,具名卷必须显式 docker volume rm。闲置卷是磁盘被悄悄占满的常见来源,建议季度清理一次。
用 -v /data 这种不写冒号与卷名的写法会生成匿名卷,名字是一长串随机 ID,事后很难判断用途与归属,也难以安全删除。生产环境应始终使用具名卷。

易错点

  • 把具名卷当临时目录,容器删了卷还在,日积月累占满磁盘
  • 以为写了路径就是具名卷,漏写冒号的 -v /data 生成的是匿名卷
  • 删除卷前没有停止引用它的容器,删除直接失败
  • 误删承载业务数据的卷,数据无法通过重新创建容器恢复

数据来源与参考

  • Docker Docs:docker volume ls
  • Docker Docs:Volumes

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌