MacOS Docker运行磁盘空间管理与不足解决方案

B站影视 港台电影 2025-03-26 22:24 1

摘要:在 macOS 上使用 Docker Desktop 时,docker.raw 文件是 Docker 虚拟机(基于 HyperKit)的虚拟磁盘镜像文件,用于存储 Docker 引擎运行所需的所有数据,包括容器、镜像、卷和配置等。

在 macOS 上使用 Docker Desktop 时,docker.raw 文件是 Docker 虚拟机(基于 HyperKit)的虚拟磁盘镜像文件,用于存储 Docker 引擎运行所需的所有数据,包括容器、镜像、卷和配置等。

在 macOS 系统中,Docker.raw 通常位于以下路径:

~/Library/Containers/com.docker.docker/Data/vms/0/data/Docker.raw路径解析:~:当前用户的家目录(如 /Users/你的用户名)。Library/Containers:macOS 应用容器化数据的存储位置。com.docker.docker:Docker Desktop 应用的唯一标识。vms/0/data:虚拟机相关数据的存储目录,0 表示第一个虚拟机实例。镜像(Images):所有通过 docker pull 拉取的容器镜像。容器(Containers):正在运行或已停止的容器文件系统。卷(Volumes):持久化存储的 Docker 卷数据。网络配置(Network Configs):Docker 网络设置和虚拟网桥。日志和元数据:Docker 引擎的日志及运行时元数据。打开 Finder,按下 Command + Shift + G。输入路径:~/Library/Containers/com.docker.docker/Data/vms/0/data/检查是否存在 Docker.raw 文件。# 直接列出文件ls -l ~/Library/Containers/com.docker.docker/Data/vms/0/data/Docker.raw# 如果路径存在,输出类似:# -rw-r--r-- 1 user staff 64G Aug 10 12:34 /Users/user/Library/Containers/com.docker.docker/Data/vms/0/data/Docker.raw

查看磁盘占用

# 查看文件大小du -sh ~/Library/Containers/com.docker.docker/Data/vms/0/data/Docker.raw# 示例输出:# 64G /Users/user/Library/Containers/com.docker.docker/Data/vms/0/data/Docker.raw

清理磁盘空间

删除无用镜像和容器:docker system prune -a --volumes重置 Docker Desktop

打开 Docker Desktop,进入 Preferences > Troubleshoot > Reset to factory defaults

注意:这会删除所有镜像、容器和卷!

默认情况下,Docker.raw 会动态扩展(最大 64GB),如需手动调整:

编辑虚拟机配置(需谨慎操作):# 备份原文件cp ~/Library/Containers/com.docker.docker/Data/vms/0/data/Docker.raw ~/Docker.raw.bak# 调整大小(例如扩展到 100GB)qemu-img resize ~/Library/Containers/com.docker.docker/Data/vms/0/data/Docker.raw 100G

Q1:Docker.raw文件过大怎么办?

原因:长期使用后,未清理的镜像、容器和卷会占用大量空间。解决方案:定期运行 docker system prune。在 Docker Desktop 中设置资源限制(Preferences > Resources > Advanced)。

Q2:如何迁移Docker.raw文件?

停止 Docker Desktop。复制整个 vms/0/data 目录到新位置。创建符号链接:mv ~/Library/Containers/com.docker.docker/Data/vms/0/data /new/path/dataln -s /new/path/data ~/Library/Containers/com.docker.docker/Data/vms/0/data重启 Docker Desktop。

来源:走进科技生活

相关推荐