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
有没有办法下载创建的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。