Nexus仓库删除Docker镜像后空间未释放,清理策略失效求助
Nexus 3.41.1 Docker容器存储空间增长&清理策略失效解决方案
一、手动清理Blob存储未引用资产
本地仓库不支持Repository Health Check,需手动触发Blob存储垃圾回收:
- 登录Nexus后台,进入Blob存储页面,找到目标本地Blob存储
- 点击对应Blob存储的更多操作 → Compact Blob Store(压缩Blob存储)
- 执行Soft Delete Unreferenced Blobs(软删除未被引用的Blob)
- 最后执行Purge Blob Store(彻底清理已软删除的Blob)
二、排查Docker卷的空间残留问题
删除容器重建未释放空间,需直接清理宿主机卷内残留数据:
- 查看Nexus容器绑定的卷路径:
docker inspect 容器名/ID | grep "Source" - 进入卷目录,定位大文件:
du -sh *(重点检查blobs、cache、log目录) - 清理过期日志:
rm -rf sonatype-work/nexus3/log/* - 清理Nexus缓存:停止容器后执行
rm -rf sonatype-work/nexus3/cache/*
三、绕开RHC配置本地仓库清理策略
直接配置基于资产属性的清理策略并手动执行:
- 进入系统 → 清理策略,新建策略:
- 选择资产年龄:例如清理超过30天未访问的资产
- 或选择资产大小:例如清理大于1GB的冗余资产
- 将策略绑定到目标本地仓库,进入仓库页面后点击更多操作 → Run Cleanup(手动触发清理)
四、验证空间释放
完成操作后,在宿主机执行df -h查看卷所在磁盘的空间变化,确认释放效果。
注意:操作前必须备份Nexus卷数据,避免误删重要资产。
内容的提问来源于stack exchange,提问作者Sk Delpan
相关产品推荐
相关产品推荐

