我有一个容器生成器步骤
steps:
- id: dockerbuild
name: gcr.io/cloud-builders/docker
entrypoint: 'bash'
args:
- -c
- |
docker build . -t test
images: ['gcr.io/project/test']
用于创建此测试映像的Dockerfile具有特定于gsutil的命令,如
FROM gcr.io/cloud-builders/gcloud
RUN gsutil ls
当我使用向容器构建器服务提交docker构建时
gcloud container builds submit --config cloudbuild.yml
我看到以下错误
You are attempting to perform an operation that requires a project id, with none configured. Please re-run gsutil config and make sure to follow the instructions for finding and entering your default project id.
The command '/bin/sh -c gsutil ls' returned a non-zero code: 1
ERROR
ERROR: build step 0 "gcr.io/cloud-builders/docker" failed: exit status 1
我的问题是,我们如何在DockerFile中使用gcloud/gsutil命令,以便在docker构建步骤中运行?
要使用工具生成器调用"gcloud命令",您需要Container builder服务帐户,因为它代表您执行构建。
在这个GitHub中,有一个使用gcloud命令的云构建器示例:
注意:你必须指定$PROJECT_ID,这是你的构建器必须工作的。
要做到这一点,您的Dockerfile
需要从已经安装了云SDK的基本映像开始(如FROM gcr.io/cloud-builders/gcloud
(,或者您需要安装它。以下是安装它的Dockerfile
:https://github.com/GoogleCloudPlatform/cloud-builders/blob/master/gcloud/Dockerfile.slim