如何在x86开发机上构建带标签的x86/ARM双架构Docker镜像
Docker跨架构构建Spring Boot镜像操作步骤
前置准备
确保你的Docker版本 >= 19.03,已开启qemu架构模拟支持:
- Windows/macOS版Docker Desktop默认已开启该支持,无需额外操作
- Linux系统可执行如下命令安装依赖:
sudo apt install qemu-user-static binfmt-support
步骤1:创建多架构构建器
执行如下命令创建并启用支持跨架构构建的buildx实例:
docker buildx create --name multiarch-builder --driver docker-container --use docker buildx inspect multiarch-builder --bootstrap
执行完成后输出的Platforms字段会包含linux/amd64(x86架构)、linux/arm/v7(32位树莓派)、linux/arm64(64位树莓派)等架构标识,代表环境配置正常。
步骤2:分别构建对应架构镜像并打标签
构建x86架构镜像
执行如下命令构建x86版镜像,自动打上org/app:x86标签并加载到本地镜像列表:
docker buildx build --platform linux/amd64 -t org/app:x86 --load .
构建ARM架构镜像
- 若你的树莓派是32位系统,执行如下命令:
docker buildx build --platform linux/arm/v7 -t org/app:arm --load .
- 若你的树莓派是64位系统,执行如下命令:
docker buildx build --platform linux/arm64 -t org/app:arm --load .
注意事项
确保你的Dockerfile中使用的基础镜像(如JDK镜像)本身支持对应架构,官方开源的OpenJDK、Eclipse Temurin等镜像均已默认支持多架构,无需额外修改。
如果需要直接将构建好的镜像推送到远程镜像仓库,将命令中的--load参数替换为--push即可,替换前需先执行docker login完成仓库账号认证。
内容的提问来源于stack exchange,提问作者Jonathan Robert
相关产品推荐
相关产品推荐

