You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac M1环境下Docker提示no space left on device问题求助

解决Mac上Docker磁盘镜像已满但docker system df显示占用异常的问题

问题根源

Mac上Docker通过HyperKit运行Linux虚拟机,磁盘镜像是稀疏文件(只会增长不会自动收缩)——即便你删除镜像/容器,虚拟机内的空间被释放,但宿主Mac上的磁盘文件不会自动缩小。另外虚拟机内部可能堆积了未被docker system df统计的容器日志、临时文件,导致磁盘耗尽。


无法特点Next.caAir前� Schwer冲突雅 Frans大路 mini repeated,直接上解决步骤:

步骤1:进入Docker虚拟机清理内部垃圾

Mac上Docker的虚拟机终端可通过以下命令访问:

screen ~/Library/Containers/com.docker.docker/Data/vms/0/tty

进入后用户名是root,无需密码,执行以下操作:

  • 清理容器日志(最常见的空间占用原因):
    truncate -s 0 /var/lib/docker/containers/*/*-json.log
    
  • 清理系统临时文件:
    apt-get clean
    rm -rf /var/tmp/* /tmp/*
    
  • 彻底清理Docker未使用的资源(包括未引用的镜像、卷、网络):
    docker system prune -a -f --volumes
    
  • 检查容器层存储目录大小,确认是否有残留废弃层:
    du -sh /var/lib/docker/overlay2
    

完成后按Ctrl+A再按D退出screen会话(不要直接关闭终端)。

步骤2:收缩Docker磁盘镜像(释放Mac宿主空间)

  1. 完全退出Docker Desktop:点击顶部菜单栏Docker图标 → Quit Docker Desktop
  2. 在Mac终端执行命令压缩稀疏磁盘文件,回收未使用空间:
    hdiutil compact ~/Library/Containers/com.docker.docker/Data/vms/0/Docker.raw
    

步骤3:调整Docker磁盘限额避免再次耗尽

打开Docker Desktop偏好设置 → Resources → Advanced,设置合理的磁盘大小(比如20GB),限制虚拟机对宿主空间的占用。

步骤4:检查其他潜在空间占用

  • 确认是否有容器挂载了本地目录,且容器向该目录写入了大量数据(比如日志、缓存文件)
  • 彻底清理构建缓存:
    docker builder prune -a -f
    

内容的提问来源于stack exchange,提问作者dorinand

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 15:24:25