技术与生活 / 一篇记录
Docker 占了很多空间,先分清是哪一种
镜像、构建缓存、日志和卷的用途不同,应按对象确认占用。
构建缓存可以重新生成,镜像可以重新拉取,数据卷却可能是业务唯一副本。不同对象的风险和重建成本差别很大,不能用一条清理命令统一处理。
从一个例子看起
容器名与镜像名仅作示例;操作前先确认目标对象,不直接对不明数据执行清理。
docker system df
检查哪些对象仍被运行中服务引用。
排查时再往前走一步
先观察占用分类与引用关系,优先处理已确认可再生的内容。日志增长也可能是大头,建立轮转比每次磁盘告警后临时删除更可控。
还应检查是否存在构建产生却没有实际使用的临时镜像。确认它们可再生后再处理,比直接执行全局清理更稳妥。多业务共用 Docker 时,每次清理都应明确自己的对象范围。
不要为了快速腾空间而对不明数据卷执行删除操作。
参考:Docker 文档。