type
status
date
slug
summary
tags
category
icon
password

前言

尽管 Docker 广为宣传其"Build once, Run anywhere"的理念,但现实中构建的镜像默认只能在相同架构的机器上运行。举个例子,如果你在 x86 架构的机器上开发了一个小型服务,并计划将其部署到树莓派上,你会发现将构建好的镜像拉取到树莓派后是无法运行的,因为树莓派使用的是 ARM 架构
这个问题显然增加了部署的复杂性,尤其是当你希望你的应用程序能够在多个架构上运行时,每次更新都需要在每个平台上重新构建镜像。为了简化这个过程,Docker 提供了多架构构建(multi-architecture builds)的支持,使得我们可以使用同一个 Dockerfile 构建出适用于不同架构的镜像。

基于 Buildx 的方式组合多平台架构镜像

创建环境

创建并切换到一个新的 buildx 构建环境

查看环境信息

查看当前构建环境支持的架构
notion image
可以在最后一项Platforms里看到很多支持构建的架构

构建多架构镜像

构建多架构镜像并push到DockerHub(需提前登录)
构建时platform参数加上需要的架构即可,架构间用,分隔
notion image
完成后即可在DockerHub上看到多架构镜像
参考:
 
Commit message规范(Angular)Dockerfile模板
Loading...
Kougami
Kougami
Life Will Change
统计
文章数:
18
公告
てへぺりんこ