Docker 一键清盘术, 释放磁盘空间不求人
- 2025-06-29 08:34:14
- 552
在日常开发和运维中,Docker 容器化让我们的工作更高效,但不知不觉中,磁盘空间却被镜像、容器和卷悄悄吃掉。今天教你一套干净利落的 Docker 磁盘清理攻略,让你轻松腾出宝贵空间!✨
一、快速查看磁盘占用情况
概览模式
docker system df
一条命令查看镜像、容器、卷、构建缓存的总占用。
详细模式
docker system df -v
列出每个镜像、容器、数据卷的具体体积和关联关系,帮你精准定位“大块头”。
宿主机视角
如果你想从操作系统层面再确认一遍,常用 df -h 和 du:
df -h du -sh /var/lib/docker
快速锁定 Docker 根目录的真实占用。
二、一键清理无用资源
⚠️ 提示:请先确认无误,再运行清理命令!
清空孤儿资源
docker system prune -a
自动删除所有停止的容器、无效镜像、未挂载网络,一招扫光“僵尸”资产。
专治废弃数据卷
docker volume prune
只删未被任何容器引用的持久卷,安全无风险。
如果想手动把关,可先:
docker volume ls docker volume inspect VOLUME_NAME docker volume rm VOLUME_NAME
深度清理构建缓存
docker builder prune -a
构建时留下的临时文件统统一锅端,释放更多空间。
三、盘点持久化存储(Volumes)
一览卷列表
docker volume ls
快速看到都有哪些卷。
查看某个卷详情
docker volume inspect VOLUME_NAME
包括驱动、宿主机挂载路径等信息。
宿主机实际目录
默认路径:
/var/lib/docker/volumes/
直接 du -sh,轻松查看每个卷的大小。
容器内占用
如果卷里存了应用数据,可进入容器一探究竟:
docker exec -it CONTAINER_NAME du -sh /挂载路径
四、进阶自动化 & 实战小技巧
定时自动清理:写个脚本配合 cron,每天/每周定时跑:
#!/bin/bash
docker system prune -af
docker volume prune -f
docker builder prune -af
保证磁盘常保“轻盈”。
专用存储分区:将 /var/lib/docker 挂载到独立分区或网络存储(NFS、Ceph、LVM),防止占满根分区导致服务器无法启动。
监控告警:结合 Prometheus、Grafana、Node Exporter,实时监控 Docker 文件夹使用率,超过阈值第一时间推送通知。
总结
通过以上四步:查看→清理→管理→自动化,你就能让 Docker 环境保持“苗条”状态,再也不用担心硬盘告急的问题。快动手试试,一键释放海量空间,让你的开发和 CI/CD 跑得更顺畅!✨
- 上一篇:中美经贸磋商
- 下一篇:景甜第二次演尾鱼女主了