使用 gcloud 命令的容器生成器 dockerfile
Container builder dockerfile with gcloud commands
我有一个容器生成器步骤
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 构建步骤中?
为此,您的 Dockerfile
要么需要从已安装云 SDK 的基础映像开始(如 FROM gcr.io/cloud-builders/gcloud
),要么您需要安装它。这是安装它的 Dockerfile
:https://github.com/GoogleCloudPlatform/cloud-builders/blob/master/gcloud/Dockerfile.slim
要使用工具构建器调用 "gcloud commands.",您需要 Container Builder service account,因为它会代表您执行构建。
这里 GitHub 有一个云构建者使用 gcloud 命令的例子:
注意:您必须指定 $PROJECT_ID 它是您的构建器工作所必需的。
我有一个容器生成器步骤
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 构建步骤中?
为此,您的 Dockerfile
要么需要从已安装云 SDK 的基础映像开始(如 FROM gcr.io/cloud-builders/gcloud
),要么您需要安装它。这是安装它的 Dockerfile
:https://github.com/GoogleCloudPlatform/cloud-builders/blob/master/gcloud/Dockerfile.slim
要使用工具构建器调用 "gcloud commands.",您需要 Container Builder service account,因为它会代表您执行构建。
这里 GitHub 有一个云构建者使用 gcloud 命令的例子:
注意:您必须指定 $PROJECT_ID 它是您的构建器工作所必需的。