清除 Docker 缓存、垃圾文件和停止服务的命令主要分为 “针对当前项目” 和 “针对整个系统” 两类。
一、针对当前项目(只清理你 docker-compose.yml 里的东西)
1. 停止并删除容器、网络(标准操作)
这是最常用的“重置”命令,它会删除容器,但保留你的数据库数据和镜像。
docker compose down
2. 删除容器 + 删除所有数据卷
如果你想让项目彻底回到初始状态(比如清空数据库所有数据),加 -v。
docker compose down -v
3. 删除容器 + 删除镜像
如果你觉得本地的镜像有问题,或者想腾空间,想下次启动时重新拉取最新的。
docker compose down --rmi all
- --rmi all: 删除该配置中使用的所有服务镜像。
- --rmi local: 只删除本地构建的镜像。
4. 清理“已停止”的容器
如果你只是停止了容器(stop),它们还占着位置。这个命令可以把状态为“Exited”的容器删掉。
docker compose rm
二、针对构建缓存
如果你在反复修改代码并执行 build,Docker 会产生大量的构建缓存。这些缓存不属于某个具体项目,但会占用大量磁盘空间(几十 GB 很常见)。
docker builder prune
- 系统会提示你确认,输入 y 即可。
- 作用:释放构建过程中产生的临时缓存层。
三、针对整个系统
这些命令不带 compose,是 Docker 全局命令,用来清理系统中所有没在使用的垃圾。
1. 清理悬空镜像
当你重新构建镜像后,旧的镜像会变成 <none>,这些就是垃圾。
docker image prune
2. 一键清理所有未使用的资源
清理所有停止的容器、没用的网络、悬空的镜像。
docker system prune