
类型:虚拟化技术
简介:基于操作系统层级的虚拟化技术,将软件与其依赖项打包为容器。
一台跑了半年的Docker服务器,业务目录占用不大,磁盘却持续紧张。常见原因不是数据库突然变大,而是镜像、停止容器和构建缓存长期累积。清理前先分清是哪类资源在占空间,直接全清很容易把回滚镜像或测试数据一起删掉。
先看总账
docker system df
想看每一项:
docker system df -v
如果Build Cache很大,说明构建任务多;Local Volumes很大,先查数据库、上传文件和日志目录。
镜像删前先看容器
docker images
docker ps -a --filter ancestor=镜像名
同一项目可能有多个旧版本,也会有 <none>。不要只按创建时间删,上一版回滚镜像通常还想留几天。
停止容器也会占空间
临时测试容器可以删,但先确认容器可写层里没有业务文件。重要数据应该在volume里,不该留在容器里。这个习惯能少踩很多坑。
数据卷先备份
docker volume ls
docker volume inspect 卷名
docker ps -a --filter volume=卷名
数据库、上传目录、证书目录都不要直接删。真确定不要了,也先备份。
构建缓存可以有计划地清
docker builder prune
清理后下一次构建会变慢,这是代价。服务器空间紧张时,这个代价比删错volume小得多。
常见问题
Docker磁盘满了先清什么?
先看 docker system df,从无用镜像、停止容器和构建缓存开始。
docker system prune能直接执行吗?
不建议生产服务器直接执行。
volume占用大怎么办?
先查内容,备份后再处理。

