Docker 磁盘空间清理

Docker 磁盘空间清理(主机)

Docker 数据会随着时间在主机上增长。 旧的租用会留下已停止的容器、未使用的镜像、卷和构建缓存。 如果不清理,根分区会被填满,部署将开始失败。

circle-info

仅在服务器 未被租用 且你不需要任何旧的容器数据时运行清理。 如果不确定,请先停止并先检查磁盘使用情况。


1) 检查磁盘使用情况

操作系统级别磁盘空间(df -h)

这会显示每个已挂载文件系统的可用空间。

df -h

你主要关心 / (根)以及保存 /var/lib/docker.

Docker 级别磁盘使用(docker system df)

这会显示 Docker 存储了什么以及可回收多少空间。

docker system df

如果你想要每个镜像/容器的更多详细信息:

docker system df -v

2) 完整清理(推荐)

这是“重置来自之前租用的 Docker 遗留项”的命令。 它会移除未使用的容器、镜像、网络和 未使用的卷.

circle-exclamation

3) 单项清理命令(更可控)

当你想清理特定类别时使用这些命令。 它们对渐进式维护更安全。

容器(仅已停止)

镜像(未使用)

仅移除悬挂层:

移除所有未使用的镜像(与 system prune -a):

卷(未使用)

网络(未使用)


4) 主机维护最佳实践

  1. 租用之间 或计划停机期间进行清理。

  2. 保持安全缓冲。 目标是保持 10–20 GB 的根磁盘可用空间始终存在。

  3. 定期检查 Docker 使用情况:

    • df -h

    • docker system df

  4. 优先采用渐进式清理:

    • docker container prune

    • docker image prune

    • docker volume prune

  5. 仅在必要时使用完整清理:

    • docker system prune -a --volumes

  6. 如果磁盘使用持续快速增长,请调查:

    • 租户创建的大型卷。

    • 日志位于 /var/lib/docker/containers/*/*.log.

    • 频繁重建镜像产生的构建缓存。

最后更新于

这有帮助吗?