Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google cloud platform 如何在云构建步骤失败后下载Docker映像_Google Cloud Platform_Google Cloud Build_Google Container Registry - Fatal编程技术网

Google cloud platform 如何在云构建步骤失败后下载Docker映像

Google cloud platform 如何在云构建步骤失败后下载Docker映像,google-cloud-platform,google-cloud-build,google-container-registry,Google Cloud Platform,Google Cloud Build,Google Container Registry,我有一个云构建配置,包括以下步骤: 建立一个码头工人形象 对该图像运行一些测试 将映像推送到容器注册表 多做些事情 问题是生成在推送步骤(第3步)失败。 有没有办法下载创建的docker映像或更改步骤3的命令(args),以便推送不会失败,从而可以从步骤3重试构建 steps: - name: 'gcr.io/cloud-builders/docker' args: [ 'build', '--build-arg', 'base_image=${_DO

我有一个云构建配置,包括以下步骤:

  • 建立一个码头工人形象
  • 对该图像运行一些测试
  • 将映像推送到容器注册表
  • 多做些事情
  • 问题是生成在推送步骤(第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。

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


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

    我同意@Guillaume关于云构建行为和构建后处理图像的观点。此外,如果云构建推送在容器注册表上由于权限而失败,则您正在执行以下操作之一:

    • 您正在一个项目中使用服务帐户访问另一个项目中的容器注册表
    • 您使用的是对存储具有只读访问权限的默认服务帐户,但您希望同时拉入和推送映像
    • 您正在使用自定义服务帐户与容器注册表交互
    如果是这种情况,请确保用于云构建的服务帐户在容器注册表所在的项目上具有
    存储管理员
    角色


    参考:


    请提供更多详细信息。1) 显示云构建配置的相关部分。2) 为什么推送失败了?显示一些错误日志。我不确定你是如何标记图像的。请参阅更新的answear。