【问题标题】:How to download Docker image after a failed Cloud Build stepCloud Build 步骤失败后如何下载 Docker 映像
【发布时间】:2021-05-14 15:47:03
【问题描述】:

我有一个包含以下步骤的 Cloud Build 配置:

  1. 构建 Docker 映像。
  2. 对该图像运行一些测试。
  3. 将映像推送到 Container Registry。
  4. 做更多的事情。

问题是构建在推送步骤中失败(第 3 步)。
有什么方法可以下载创建的 docker 映像或更改第 3 步的命令(args),以便推送不会失败,以便我可以从第 3 步重试构建?

steps:
- name: 'gcr.io/cloud-builders/docker'
  args: [
          'build',
          '--build-arg', 'base_image=${_DOCKER_BASE_IMAGE}',
          '--build-arg', 'cuda=${_CUDA}',
          '--build-arg', 'python_version=${_PYTHON_VERSION}',
          '--build-arg', 'cloud_build=true',
          '--build-arg', 'release_version=${_RELEASE_VERSION}',
          '-t', 'gcr.io/aluminiumponey/xla:${_IMAGE_NAME}',
          '-f', 'docker/Dockerfile', '.'
        ]
  timeout: 14400s
- name: 'gcr.io/cloud-builders/docker'
  entrypoint: bash
  args: ['-c', 'docker tag gcr.io/aluminiumponey/xla:${_IMAGE_NAME} gcr.io/repsmate/xla:${_IMAGE_NAME}_$(date -u +%Y%m%d)']
- name: 'gcr.io/cloud-builders/docker'
  args: ['push', 'gcr.io/aluminiumponey/xla']
  timeout: 1800s
- name: 'gcr.io/aluminiumponey/xla:${_IMAGE_NAME}'
  entrypoint: 'bash'
  args: ['-c', 'source /pytorch/xla/docker/common.sh && collect_wheels ${_RELEASE_VERSION}']

推送失败,因为我没有推送到 gcr.io 的权限。

【问题讨论】:

  • 请提供更多细节。 1) 显示 Cloud Build 配置的相关部分。 2)为什么推送失败?显示一些错误日志。我不确定你是如何标记图像的。
  • 查看更新的答案。

标签: google-cloud-platform google-cloud-build google-container-registry


【解决方案1】:

Cloud Build 是一个无服务器环境,它是短暂的。在构建结束时,环境被清理干净。所以,不,Cloud Build 崩溃后您无法获取容器

但是,您可以想象在第 1 步和第 2 步之间添加一个新步骤(将其命名为 1.5)以将图像推送到 Google Container Registry(或最新的 Google Artifact Registry)

【讨论】:

    【解决方案2】:

    我同意@Guillaume 关于 Cloud Build 在构建时间后如何表现和处理图像的观点。此外,如果 Cloud Build 推送由于权限而在 Container Registry 上失败,那么您正在执行以下操作之一:

    • 您在一个项目中使用服务帐号访问另一个项目中的 Container Registry
    • 您正在使用具有只读存储访问权限的默认服务帐户,但您希望同时拉取和推送图像
    • 您正在使用自定义服务帐号与 Container Registry 进行交互

    如果是这种情况,请确保您用于 Cloud Build 的服务帐号在 Container Registry 所在的项目上具有 Storage Admin 角色。


    参考:

    https://cloud.google.com/container-registry/docs/access-control#general

    【讨论】:

      猜你喜欢
      • 2021-04-10
      • 2021-10-25
      • 2022-11-30
      • 2021-02-07
      • 1970-01-01
      • 2020-01-17
      • 1970-01-01
      • 2019-05-23
      • 1970-01-01
      相关资源
      最近更新 更多