You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker Hub公开镜像拉取失败求助:平台不匹配报错

问题原因及解决方案

核心原因

拉取失败的直接原因是你推送的kitapkurdu-backend镜像仅包含本地构建机器的CPU架构版本,而远程Rancher集群节点的CPU架构不在该镜像支持的架构列表中。错误信息no match for platform in manifest: not found明确说明了这一点——Docker Hub上的镜像清单(manifest)里没有对应节点架构的镜像层。

另一镜像sayinmehmet47/event-bus能正常拉取,大概率是因为它是多架构镜像(包含了远程节点的架构版本),或者刚好和节点架构完全匹配。

验证步骤

  1. 检查本地构建机器的架构:
    docker info | grep Architecture
    
  2. 检查远程Rancher节点的架构(登录节点执行,或在Rancher控制台查看节点详情):
    uname -m
    
  3. 查看当前镜像支持的架构:
    docker buildx imagetools inspect sayinmehmet47/kitapkurdu-backend:latest
    
    输出中如果没有远程节点的架构(比如linux/arm64),就坐实了架构不兼容的问题。

解决方案

方法1:构建并推送多架构镜像(推荐)

使用Docker Buildx工具构建支持多架构的镜像,确保覆盖远程节点的架构:

  1. 启用Buildx并创建构建实例:
    docker buildx create --use
    
  2. 构建并推送多架构镜像(以amd64和arm64为例,根据实际需要调整):
    docker buildx build --platform linux/amd64,linux/arm64 -t sayinmehmet47/kitapkurdu-backend:latest --push .
    

方法2:直接在对应架构的机器上构建推送

如果远程节点是单一架构(比如arm64),可以直接在同架构的机器上执行你原来的构建和推送命令:

docker build -t sayinmehmet47/kitapkurdu-backend:latest .
docker push sayinmehmet47/kitapkurdu-backend:latest

方法3:用QEMU模拟跨架构构建

在本地机器安装QEMU支持,模拟目标架构进行构建:

  1. 安装QEMU:
    # Debian/Ubuntu
    sudo apt-get install qemu-user-static
    # macOS
    brew install qemu
    
  2. 注册QEMU模拟器:
    docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
    
  3. 然后用Buildx构建对应架构的镜像:
    docker buildx build --platform linux/arm64 -t sayinmehmet47/kitapkurdu-backend:latest --push .
    

验证修复

推送完成后,再次执行docker buildx imagetools inspect sayinmehmet47/kitapkurdu-backend:latest,确认输出中包含远程节点的架构,之后重新部署Rancher中的Deployment即可正常拉取镜像。

内容的提问来源于stack exchange,提问作者sayinmehmet47

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 13:42:37