创建多清单清单

时间:2019-01-07 05:02:09

标签: docker google-cloud-platform google-cloud-build

我正在尝试使用Google Cloud Build构建多体系结构映像和支持清单,以便可以在amd64和arm处理器上运行容器。我可以成功构建两个映像,但是无法生成必要的多体系结构清单...获取针对我刚刚生成的映像的清单错误不存在。

这是失败的阶段:

- name: 'gcr.io/cloud-builders/docker' id: 'manifest' env: - 'DOCKER_CLI_EXPERIMENTAL=enabled' args: - 'manifest' - 'create' - 'gcr.io/$PROJECT_ID/village:$COMMIT_SHA' - 'gcr.io/$PROJECT_ID/village:arm32v6' - 'gcr.io/$PROJECT_ID/village:amd64' waitFor: ['amd64', 'arm']

会产生错误:

no such manifest: gcr.io/village/village:arm32v6 Already have image (with digest): gcr.io/cloud-builders/docker

构建的上一步结果为:Step #1 - "arm": Successfully tagged gcr.io/village/village:arm32v6

在生成多体系结构清单之前,我是否需要以某种方式推送单个图像?推送图像后是否可以继续运行云构建命令?

1 个答案:

答案 0 :(得分:0)

事实证明,必须先push依赖项才能创建清单。添加如下所示的步骤就可以了!

- name: 'gcr.io/cloud-builders/docker' id: 'push-arm' args: - 'push' - 'gcr.io/$PROJECT_ID/village:arm32v6' waitFor: ['arm']

我最终记录了最终配置here,以防其他人遇到此问题。