[英]Creating Multiarch Manifest
我正在尝试使用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
。
在生成多层记录清单之前,我是否需要以某种方式推送单个映像? 推送映像后是否可以继续运行cloud-build命令?
事实证明,您必须先push
依赖项才能创建清单。 添加如下所示的步骤就可以了!
- name: 'gcr.io/cloud-builders/docker' id: 'push-arm' args: - 'push' - 'gcr.io/$PROJECT_ID/village:arm32v6' waitFor: ['arm']
我最终在这里记录了最终的配置,以防其他人遇到此问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.