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

M1 MacBook构建Alpine 3.13镜像出现syslinux报错及APK源签名错误

M1芯片Mac构建Alpine 3.13镜像报错解决方案

问题根因

  • M1芯片为arm64架构,默认拉取运行的Alpine 3.13容器为arm64版本,你的构建脚本强制指定了--arch x86_64参数,跨架构构建场景下,旧版Alpine的apk包管理器无法正确校验x86_64软件源的签名,因此会抛出UNTRUSTED signature报错。
  • syslinux工具仅支持x86/amd64架构,arm64环境下没有对应的安装包,所以你在安装依赖阶段就会先出现syslinux相关报错。
  • 你使用的其他Intel架构Mac本身为x86_64环境,不存在跨架构兼容问题,因此可以正常构建。

解决方案

方案1(无需修改Dockerfile,推荐)

强制Docker以x86_64架构构建、运行镜像,构建命令添加--platform linux/amd64参数即可:

docker build --platform linux/amd64 -t 自定义镜像名 .

M1芯片的Docker Desktop内置Rosetta 2转译支持,转译运行x86_64镜像不会出现兼容性问题,可完全复现Intel Mac上的构建效果。

方案2(适配arm64原生构建)

如果需要在M1上原生arm64环境构建,修改Dockerfile两处配置即可:

  1. 依赖安装部分移除syslinux,你已经安装了arm64架构可用的引导工具grub-efi,仅注释掉syslinux即可
  2. 修改ENTRYPOINT中的--arch x86_64参数为--arch aarch64,如果需要产出x86_64架构的镜像则不推荐用该方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.08 10:27:03