在日常开发中,Docker 会不断产生大量的 无标签镜像(dangling images) 和 未使用镜像,如果不清理,磁盘会迅速被占满。本篇教你如何安全、高效地清理这些不用的镜像。
1. 查看当前的 Docker 镜像
| |
你会看到类似:
<none> <none> 9ae296c18765 ...
这类无标签镜像通常是构建过程中的中间产物,可以安全删除。
2. 删除所有无标签(dangling)镜像
| |
这条命令会清除所有 <none> 镜像,是最常用、最安全的清理方式。
3. 删除所有未使用的镜像(更彻底)
| |
⚠️ 注意:
这会删除所有未被容器使用的镜像,包括一些你可能会重新用到的镜像,请谨慎使用。
4. 精确删除某些镜像
| |
例如:
| |
5. 删除构建缓存(可选)
如果你使用 docker buildx 或多次构建,cache 可能非常大:
| |
6. 删除未使用的容器(避免镜像删不掉)
有时镜像被容器占用无法删除,可以先清理容器:
| |
总结
清理对象 命令
无标签镜像 docker image prune -f
所有未使用镜像 docker system prune -a -f
构建缓存 docker builder prune -a -f
未使用容器 docker container prune -f
持续清理这些内容能让 Docker 环境保持干净,避免磁盘被无用镜像占满。