Docker 入门:警告:请求的映像平台 (linux/arm64/v8) 与检测到的主机平台 (linux/amd64) 不匹配

Sre*_*inu 23 docker dockerhub apple-m1

我正在从 Docker 官方网站开始“入门”指南。在第 4 部分“共享应用程序”中,当我尝试从 play-with-docker.com 在 docker hub 上运行我的映像时,我遇到了此错误消息。

WARNING: The requested image's platform (linux/arm64/v8) does not match the detected host platform (linux/amd64) and no specific platform was requested
Run Code Online (Sandbox Code Playgroud)

我从我的苹果 M1 笔记本电脑构建了图像:

FROM node:12-alpine
# Adding build tools to make yarn install work on Apple silicon / arm64 machines
RUN apk add --no-cache python2 g++ make
WORKDIR /app
COPY . .
RUN yarn install --producti
CMD ["node", "src/index.js"]
Run Code Online (Sandbox Code Playgroud)

Han*_*ian 27

如果您想在 linux/amd64 平台上运行映像,则需要为该平台构建它。您可以这样做docker buildx并指定您的两个平台

docker buildx build --platform linux/amd64,linux/arm64 -t <tag> .
Run Code Online (Sandbox Code Playgroud)

  • 我收到以下错误:`错误:docker 驱动程序当前不支持多平台功能。请切换到不同的驱动程序(例如“docker buildx create --use”)`。我该如何修复它? (2认同)
  • @wang 发出建议的命令。`docker buildx create --use`。然后,使用我的答案中提供的命令。 (2认同)