磁盘又满了!Docker 清理常用命令

date
Jul 15, 2025
slug
docker-cleanup-guide
status
Published
tags
Docker
AWS
EC2
type
Post
author
summary
记录了一次 Docker 磁盘空间不足的处理过程。从 no space left on device 错误开始,介绍了如何使用 docker system df 诊断空间占用,通过 docker system prune 快速清理,以及使用 docker rmi 精准删除特定镜像。最后分享了设置定期清理、限制日志大小等预防措施,帮助避免类似问题再次发生。
在使用 Docker 的过程中,随着镜像和容器的不断累积,磁盘空间不足是一个常见问题。本文通过一个真实案例,介绍如何系统地管理 Docker 占用的磁盘空间。

问题场景

在拉取新镜像时遇到错误:
这是典型的磁盘空间不足问题。让我们系统地解决它。

一、快速诊断

1.1 查看 Docker 空间占用

这个命令会显示镜像、容器、数据卷和构建缓存的空间占用情况。

1.2 查看镜像列表

1.3 查看系统磁盘使用

二、清理策略

2.1 一键清理(适合大多数场景)

2.2 精准清理(推荐)

删除特定镜像

处理被占用的镜像

2.3 分类清理

三、最佳实践

3.1 定期自动清理

3.2 限制容器日志大小

编辑 /etc/docker/daemon.json

3.3 监控脚本

四、实战案例

问题:需要清理旧版本镜像来腾出空间

五、应急清理命令集

当磁盘空间紧急不足时,按以下顺序执行:

六、预防措施

  1. 设置磁盘使用告警:当使用率超过 80% 时及时处理
  1. 定期执行清理:每周自动清理一次
  1. 使用多阶段构建:减少镜像大小
  1. 及时删除旧版本:保持只保留必要的镜像版本
  1. 合理配置日志:避免日志文件无限增长

总结

Docker 磁盘空间管理的核心原则:
  • 定期清理:预防胜于治疗
  • 精准删除:知道要删除什么,避免误删
  • 监控预警:及时发现问题
  • 自动化:通过脚本减少手动操作
通过合理的管理策略,我们可以在有限的磁盘空间内高效地使用 Docker,避免因空间不足而影响服务运行。记住,docker system dfdocker system prune 是你最好的朋友!

© Chaoran Sun 2024 - 2026