Docker Volume 使用查询:快速查看卷被哪些容器挂载
在 Docker 中,有时需要知道一个 Volume 被哪些容器使用。下面提供一个简单的一行命令,可以快速查到关联容器。
查找占用空间大的卷
根目录执行
du -Sh | sort -rh | head -n 20命令示例
假设卷名是 mydata:
docker ps -a --format '{{.ID}} {{.Names}}' | while read cid cname; do
if docker inspect $cid | grep -q "\"Name\": \"mydata\""; then
echo "容器 $cname ($cid) 正在使用该卷"
fi
done使用方法
- 将命令复制到终端执行。
- 将
mydata替换为你要查询的卷名。 - 输出示例:
容器 webapp (b3f1d2a9e2a1) 正在使用该卷
容器 db (e9f2a7d6b1c4) 正在使用该卷命令说明
docker ps -a --format '{{.ID}} {{.Names}}'- 列出所有容器的 ID 和名称。
while read cid cname; do ... done- 遍历每个容器,逐个检查是否挂载指定卷。
docker inspect $cid | grep -q "\"Name\": \"mydata\""- 在容器挂载信息中搜索是否使用了目标卷。
echo "容器 $cname ($cid) 正在使用该卷"- 找到后输出容器名称和 ID,快速定位。