docker volume
管理 Docker 数据卷:创建、查看和删除持久化存储
语法
docker volume <COMMAND>
参数
| 参数 | 说明 | 示例 | 级别 |
|---|---|---|---|
create |
创建数据卷 | docker volume create my-data |
常用 |
ls |
列出所有数据卷 | docker volume ls |
常用 |
inspect |
查看卷详情 | docker volume inspect my-data |
常用 |
rm |
删除数据卷 | docker volume rm my-data |
常用 |
prune |
删除所有未使用的卷 | docker volume prune |
常用 |
示例
创建命名卷
docker volume create postgres-data
命名卷由 Docker 管理,数据持久化
使用卷运行容器
docker run -d -v postgres-data:/var/lib/postgresql/data postgres:15
容器删除后数据仍然保留
查看卷的实际路径
docker volume inspect postgres-data
Mountpoint 字段显示宿主机上的实际路径
清理未使用的卷
docker volume prune
删除没有被任何容器引用的卷,释放磁盘空间
常见错误
Error: volume is in use
卷正被容器使用,先停止并删除使用该卷的容器
Error: No such volume
卷不存在,用 docker volume ls 确认名称
技巧
- 数据库等有状态服务务必使用命名卷持久化数据
- docker volume prune 前确认没有重要数据在未使用的卷中
- bind mount(-v /host/path:/container/path)适合开发,命名卷适合生产