You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

macOS High Sierra下Docker容器空间不足及扩容方法咨询

解决macOS High Sierra上Docker容器容量不足的问题

我之前也碰到过一模一样的情况——明明调大了Docker的磁盘镜像大小,但容器还是被默认的容量限制卡着。下面给你两种可行的解决办法,按需选择:

方法一:全局设置默认容器最大容量

这个方法会让所有新创建的容器都使用你指定的容量上限,适合长期需要大容器的场景:

  1. 先彻底关闭Docker Desktop(点击顶部菜单栏的Docker图标,选择「Quit Docker Desktop」,等它完全退出)
  2. 打开终端,编辑(或创建)~/.docker/daemon.json文件:
    nano ~/.docker/daemon.json
    
  3. 在文件中添加以下配置(如果已有其他配置,把storage-opts块加进去就行):
    {
      "storage-opts": [
        "overlay2.size=150G"
      ]
    }
    

    注:如果你的Docker用的是devicemapper存储驱动(老版本可能会用),就把值改成"dm.basesize=150G"。macOS上现在默认是overlay2,所以用上面的配置就行。

  4. 保存文件(按Ctrl+O,回车确认,再按Ctrl+X退出nano),然后重新启动Docker Desktop
  5. 验证配置是否生效:在终端运行docker info,找到「Storage Driver」部分,查看是否显示了你设置的容量参数

方法二:给单个容器指定自定义容量

如果你只需要给特定的容器扩容,不想影响全局设置,可以在启动容器时直接指定容量:

docker run --storage-opt size=150G [你的其他启动参数] 你的镜像名称

这样这个容器的最大容量就会被设为150GB,足够放下你那75GB的大文件了。

额外提醒

  • 如果修改完全局配置后还是报错,可能是旧的镜像/容器是基于之前的默认容量创建的,建议清理一下未使用的资源:
    docker system prune -a
    

    注意:这个命令会删除所有未运行的容器、未被使用的镜像和卷,执行前确认不需要这些资源!

  • 再检查一遍Docker Desktop的磁盘镜像设置:打开偏好设置 → Resources → Advanced,确认「Disk image size」确实是160GB,有时候修改后需要重启1-2次Docker才能让虚拟机完成磁盘扩容。
  • 如果你是在构建镜像的过程中碰到这个错误,那构建时用的临时容器会遵循全局默认容量,所以修改daemon.json的方法同样适用,修改后重新执行docker build即可。

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

火山引擎 最新活动