Mac M1芯片Docker镜像拉取失败:元数据加载错误(镜像未找到)求助
排查M1芯片Mac上Docker buildx构建多架构镜像失败的方案
核心报错解析
报错artifactory.io/image-name:latest: not found的本质是Docker在M1架构环境下无法匹配到对应架构的镜像层——即便你提到Intel与M1环境下镜像大小一致,也不代表多架构镜像的manifest(镜像清单)包含了arm64(M1架构)的支持条目。
具体排查与解决步骤
- 检查镜像manifest的架构支持
执行以下命令查看目标镜像的架构清单:
确认输出中是否包含docker buildx imagetools inspect artifactory.io/image-name:latestlinux/arm64的架构条目,若仅有linux/amd64,则M1环境自然无法拉取适配的镜像层。 - 强制指定多架构构建并推送
重新执行构建命令时明确指定兼容架构,确保buildx同时生成两种架构的镜像并正确推送manifest:docker buildx build --platform linux/amd64,linux/arm64 -t artifactory.io/image-name:latest . --push - 测试跨架构拉取
在M1 Mac上临时指定拉取amd64架构镜像,验证镜像本身是否存在:
若能成功拉取,说明问题出在架构匹配环节,需确保多架构镜像的manifest已正确上传至Artifactory。docker pull --platform linux/amd64 artifactory.io/image-name:latest - 检查Artifactory的镜像存储配置
登录Artifactory后台,查看该镜像的manifest文件,确认是否包含arm64架构的相关条目。部分场景下,buildx推送多架构镜像时可能因仓库权限或配置问题,仅上传了单一架构的镜像文件。 - 重置buildx构建器
若buildx的缓存或构建器状态异常,尝试重置后重新构建:docker buildx rm builder docker buildx create --use
内容的提问来源于stack exchange,提问作者Bangar Raju
相关产品推荐
相关产品推荐

