目标
部署在 arm64 节点上失败,因为镜像只有 amd64 版本。本配方用 buildx 同时构建并推送 linux/amd64 与 linux/arm64,并在单一标签下生成多架构清单,再用 imagetools inspect 验证清单包含两个平台;提醒模拟构建很慢,arm 镜像运行失败需检查基础镜像与二进制支持。
步骤要点
- 用 buildx 同时构建并推送两个平台。
- 用 imagetools 检查清单中的平台。
- 在有原生构建器时优先原生而非模拟。
- 检查基础镜像与二进制对目标架构的支持。
docker buildx build --platform linux/amd64,linux/arm64 \
-t ghcr.io/org/app:1.2.3 --push .
排错提示
- 模拟构建较慢。
- 基础镜像需支持各平台。
- 增加 CI 成本。
适用边界
- 仿真构建慢,增加 CI 成本。
- 依赖基础镜像的架构支持。