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

如何解决GCP设备无剩余空间错误?含Cloud Shell拉取Docker镜像报错排查

GCP Cloud Shell拉取Docker镜像时「设备无剩余空间」错误原因及解决办法

错误原因

  • Cloud Shell的持久化存储配额限制:默认每个用户的/home目录(持久化存储)只有5GB可用空间,你拉取的镜像压缩后就有5.76GB,而Docker镜像解压后的实际体积通常是压缩包的2-3倍,直接超出了配额上限。
  • Docker存储路径限制:Cloud Shell里Docker默认把镜像存在持久化的/home目录,而非临时磁盘(临时磁盘空间更大,但会话结束就清空),所以就算临时磁盘有剩余,也不会被Docker利用。
  • 解压阶段的双重空间占用:镜像拉取完成后,Docker要逐个解压镜像层并写入磁盘,这时候会同时占用下载的压缩包空间和解压后的文件空间,进一步把剩余空间榨干。

解决办法

1. 清理冗余文件释放空间

  • 清理Docker相关的冗余资源:
    # 删除所有停止的容器
    docker container prune -f
    # 删除未使用的镜像
    docker image prune -a -f
    # 删除未使用的卷
    docker volume prune -f
    
  • 手动清理/home目录大文件:用du -sh *查看各目录大小,删掉没用的日志、下载文件等。

2. 把Docker存储转移到临时磁盘

Cloud Shell的/tmp临时磁盘通常有10GB以上空间,会话期间可用,修改Docker存储路径到这里:

# 停止Docker服务
sudo systemctl stop docker
# 创建临时存储目录
sudo mkdir -p /tmp/docker
# 修改Docker配置
sudo tee /etc/docker/daemon.json <<EOF
{
  "data-root": "/tmp/docker"
}
EOF
# 重启Docker服务
sudo systemctl start docker

注意:会话结束后临时磁盘内容会被清空,下次启动Cloud Shell得重新配置。

3. 申请扩大持久化存储配额

如果长期需要大空间,可通过GCP控制台把/home目录配额提升到最高20GB:

  • 打开Cloud Shell,点右上角齿轮图标
  • 选「Manage persistent storage」
  • 按提示提交扩容申请,一般几个工作日内会审批通过。

4. 改用GCP其他服务运行镜像

如果Cloud Shell空间始终不够,换这些服务更合适:

  • Google Compute Engine (GCE):创建带足够磁盘空间的虚拟机,直接在虚拟机上拉取运行镜像。
  • Google Container Registry (GCR):先把镜像上传到GCR,再通过GCE或GKE部署,不用在Cloud Shell存大体积镜像。

内容的提问来源于stack exchange,提问作者B.obed

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 23:07:09