Docker指定镜像架构拉取platform参数 Docker

前言

在 ARM 机器拉 amd64 镜像,或反过来,默认按本机架构拉取会跑错。--platform 指定目标架构,多架构镜像可按需拉取。本文讲解查看架构、拉取指定平台、运行指定平台和构建多架构。

操作步骤

1. 查看本机架构

uname -m

x86_64 即 amd64,aarch64 即 arm64。

2. 指定平台拉取镜像

docker pull --platform linux/amd64 nginx

3. 运行时指定平台

docker run -d --platform linux/arm64 nginx

4. 查看镜像架构

docker inspect nginx | grep Architecture

5. 构建指定平台镜像

docker build --platform linux/amd64 -t myapp:amd64 .

6. 多架构构建(buildx)

docker buildx build --platform linux/amd64,linux/arm64 -t myapp --push .

常见坑

  1. 跨架构运行需模拟器(qemu),否则报 exec format error。
  2. --platform 只对多架构 manifest 镜像有效。
  3. 拉取后镜像名相同,可能覆盖本地其他架构。
  4. 服务器是 ARM 却拉 amd64,启动直接失败。
  5. 二进制应用没编译多架构,指定平台也跑不了。
  6. 仓库只提供单一架构,--platform 被忽略。
  7. buildx 多架构需配置 builder 和登录推送。

总结

uname -m 看本机架构,docker pull/run --platform 指定 linux/amd64 或 arm64。跨架构运行依赖 qemu 模拟,纯二进制要分别编译。buildx 可一次构建推送多架构镜像。

遇到问题加QQ23979811 协助处理


emer 发布于  2026-11-15 07:17 
'); })();