使用ssh 查询命令docker 镜像及id
. 确认子卷的用途
该路径属于 Docker 使用 Btrfs 存储驱动时生成的子卷,每个 Docker 镜像或容器层会存储在独立的 Btrfs 子卷中
子卷可能对应某个 Docker 容器或镜像的历史数据(如日志、缓存、未清理的临时文件)
2. 查询子卷的压缩与未压缩大小
Btrfs 支持透明压缩,但传统命令如
du显示的是未压缩大小。需使用 Btrfs 专用工具:Bash# 查看子卷实际磁盘占用(压缩后大小)sudo btrfs filesystem usage /path/to/subvolume# 启用配额以获取更精确的子卷统计sudo btrfs quota enable /path/to/subvolumesudo btrfs qgroup show /path/to/subvolume
若未启用配额,需通过 Btrfs 的
balance命令优化空间分配
检查 Docker 容器/镜像占用:
Bashdocker system df # 查看整体存储使用情况docker ps -a # 列出所有容器(包括已停止的)docker images # 列出所有镜像
若子卷对应无用容器或镜像,删除相关资源:
Bashdocker rm <容器ID> # 删除容器docker rmi <镜像ID> # 删除镜像docker system prune -a # 清理所有未使用的数据
检查容器内数据: 若子卷为某个容器的持久化存储卷(Volume),需进入容器检查具体文件:
Bashdocker exec -it <容器ID> /bin/shdu -sh /path/to/volume # 分析容器内数据占用
4. Btrfs 子卷管理
删除无用子卷:
Bashsudo btrfs subvolume delete /var/lib/docker/btrfs/subvolumes/3af57b62c275...
均衡存储空间(若子卷残留元数据占用):
Bashsudo btrfs balance start /path/to/btrfs-poolsudo btrfs scrub start /path/to/btrfs-pool # 检查数据完整性
5. 优化存储策略
启用透明压缩(减少未来存储占用):
Bashmount -o compress=zlib /dev/sdX /mnt # 挂载时启用压缩
定期清理 Docker 日志:
Bashfind /var/lib/docker/containers -name "*.log" -size +100M -delete
6. 使用 NAS 工具辅助分析
群晖 NAS 用户可通过 存储空间分析器 套件扫描重复文件和大文件
55。
极速型 NAS 可通过扩容文件系统提升吞吐阈值
38。

已有 439 位网友参与,快来吐槽:
发表评论