docker - Docker Build 自动选择架构
问题描述
对于支持不同架构的 Docker 镜像,例如:
FROM whatever:arm64 or
FROM whatever:amd64
是否可以让 Docker 自动检测主机上的架构并选择相关的 Docker 导入/继承?
例如,如果我在 amd64 主机上运行 docker build,它将默认选择 amd64 导入。
解决方案
对于作为清单列表推送到注册表的多平台图像,这是默认行为。例如,如果你 build FROM alpine
,你不需要指定你在哪个平台上运行 docker 来为你的本地架构构建一个镜像。如果是交叉编译,可以根据目标平台或构建主机平台选择镜像,buildkit using--platform
和内置ARG
值TARGETPLATFORM
and BUILDPLATFORM
:
FROM --platform=$BUILDPLATFORM alpine
这将拉取与您的构建主机匹配的高山映像,它通常与您正在创建的目标平台匹配。
有关更多详细信息,请参阅有关多平台映像的 buildx 文档。
推荐阅读
- c# - MSIX c# - 在服务器/OneDrive 上更新和部署
- ios - 打开时处理错误 URL 的正确方法
- node.js - 如何在 Node + Express 中查询小型客户端数据库
- javascript - 如何在基于类的组件中正确使用 React 上下文 API?
- php - 在 WooCommerce 登录页面上重新定位自定义注册链接
- python - 如果值匹配,则将其添加到列表中,如果不使用 python 跳过 exel
- c# - WPF - 如何在 ICollectionView 位图图像中显示?
- mysql - 如何统一日期并添加各自的时间?
- kotlin - Jackson YAML 合并操作符反序列化错误
- python - 使用pygame中的坐标检查矩形列表中的矩形