返回博客

Docker 缓存、垃圾文件和停止服务的命令

2025-12-18
docker
2 分钟

清除 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

留言