如何在GCP Cloud Build中运行bash命令?镜像拉取报错求助
解决Cloud Build中bash镜像找不到的问题
问题原因
gcr.io/cloud-builders/bash:latest这个镜像已被官方弃用,不再维护和提供latest标签的镜像,因此拉取时会出现manifest找不到的错误。Cloud Shell能正常执行mkdir是因为它本身是完整的Linux环境,自带bash,和Cloud Build使用的容器镜像环境无关。
解决方案
可以替换为以下几种官方维护的、包含bash的镜像:
方案1:使用Cloud SDK镜像(推荐)
Cloud SDK镜像(gcr.io/google.com/cloudsdktool/cloud-sdk)是Cloud Build常用的官方镜像,自带bash环境,适用于大多数场景:
- name: 'gcr.io/google.com/cloudsdktool/cloud-sdk' entrypoint: 'bash' args: - '-c' - 'mkdir my_dir' id: "create_directory"
方案2:使用基础Linux镜像
如果只需要基础bash环境,也可以用debian:latest这类通用Linux镜像:
- name: 'debian:latest' entrypoint: 'bash' args: - '-c' - 'mkdir my_dir' id: "create_directory"
方案3:简化命令(针对简单操作)
如果只是执行单条bash命令,还可以省略entrypoint,直接在args中调用bash:
- name: 'gcr.io/google.com/cloudsdktool/cloud-sdk' args: - 'bash' - '-c' - 'mkdir my_dir' id: "create_directory"
内容的提问来源于stack exchange,提问作者Shadow Walker
相关产品推荐
相关产品推荐

