Mac 上 Docker 越来越大?先看数据文件,再清理不用的镜像和容器 / 文章
文章 · SuperCleanerPro

Mac 上 Docker 越来越大?先看数据文件,再清理不用的镜像和容器

mactool · 发布于 · 更新于 · 5 分钟阅读

本地跑过几个数据库和测试环境,后来容器停了,Mac 空间却没有明显变多。Docker 的数据可能集中保存在一个磁盘文件里,Finder 中看到它很大,也很难直接判断里面哪些还要用。

SuperCleanerPro 的“Docker 清理”先查找 Docker.raw、Docker.qcow2 数据文件,展示大小与位置,再给出 Docker 自己的清理命令。这个功能解决的是“数据放在哪里、接下来怎么处理”的问题,不会把整份 Docker 数据文件自动删掉。

先确认是不是 Docker 数据占了空间

打开左侧“Docker 清理”,点击“开始扫描”,根据需要完成目录授权。当前功能查找用户 Library 下 Containers/com.docker.docker/Data 中的数据文件。

SuperCleanerPro Docker真实结果页:数据文件检查结果,以及两条可复制的清理命令

这台 Mac 在该位置没有找到数据文件,因此显示 0 KB;截图主要展示实际的清理指引。页面没有执行任何命令。你的结果取决于 Docker 安装方式、数据保存位置和访问权限。

有找到文件时,可以先看路径和占用,再到 Docker Desktop 中检查当前资源。没有找到时,先确认是否移动过 Docker 的磁盘位置,或使用了另一种容器运行环境;不能把 0 KB 理解为整台电脑完全没有 Docker 数据。

数据文件很大,不等于可以直接删除

Docker.raw 或 Docker.qcow2 是 Docker 使用的数据文件,不是一份普通的下载缓存。里面可能涉及仍在使用的容器、镜像和持久数据。为了清理不用的资源而直接删除整个数据文件,会把处理范围扩大到整套本地环境。

更合适的顺序是:先在 Docker 中确认还在使用哪些环境,再通过 Docker 的资源清理命令处理已经不需要的部分。用于数据库的内容尤其要先确认保存方式和备份,不能只凭“容器没运行”就认定数据已经没用。

界面里的两条命令有什么区别?

命令 处理范围 适合先确认的内容
docker system prune 清理已停止容器、未被容器使用的网络、悬空镜像和未使用的构建缓存 停止的容器是否还要保留,缓存是否可以重建
docker system prune -a 还会纳入没有被容器引用的镜像 以后是否需要离线用这些镜像,重新下载成本是否可接受

这些区别来自 Docker 官方命令说明。-a 的“未使用”不是“日期很早”:一个刚下载、尚未被容器引用的镜像也可能符合条件。

页面提供复制按钮,但复制不等于执行。SuperCleanerPro 不会在后台替你运行这些命令;需要你在终端中执行,并阅读 Docker 当次列出的确认内容。

按用途处理,最后重新查看磁盘占用

先启动 Docker 并检查本地环境,保留还要用的停止容器、镜像和数据。想进一步了解占用,可以先在终端使用 docker system df 查看 Docker 的资源统计;这是查看命令,和真正删除资源的 prune 命令分开。

确认处理范围后,再使用合适的清理命令。本文不建议为了追求更大的释放数字,就额外加上自动确认或删除数据卷的选项。数据卷可能保存数据库等持久内容,需要单独决定。

命令完成后,分别查看 Docker 的资源统计和 macOS 可用空间。两者含义不同,不能把一个数据文件的显示大小直接当作这次一定能腾出的空间。

如果大头其实来自开发依赖、SDK 或模型文件,可以回到 SuperCleanerPro,分别查看 Node.js、Android和 AI 模型的整理方法。

SuperCleanerPro
SuperCleanerPro查看功能、截图、下载方式和隐私说明。
查看应用 ›