docker--使用buildx构建多平台镜像

系统版本

系统 版本
Ubuntu 22.04

Docker版本

软件 版本
Docker 26.1.3

启用 Buildx

  1. 配置/etc/docker/daemon.json文件
{
	"experimental": true
}
  1. 命令执行时携带参数
DOCKER_BUILDKIT=1 docker buildx build -t ${imageNAme}:${tag} --platform linux/arm64,linux/amd64 . --push

安装 qemu-user-static

apt install -y qemu-user-static binfmt-support

设置在 Docker 容器中使用 QEMU 来模拟不同架构的环境

docker run --rm --privileged multiarch/qemu-user-static --reset -p yes

创建 Buildx 构建容器

docker buildx create --name mybuilder
docker buildx use mybuilder
docker buildx inspect --bootstrap

Dockerfile 调整

# 追加 --platform=$TARGETPLATFORM 或者 --platform=$BUILDPLATFORM
FROM --platform=$TARGETPLATFORM ${imageNAme}:${tag}

同时构建 amd64 和 arm64

docker buildx build -t ${imageNAme}:${tag} --platform linux/amd64,linux/arm64 . --push

遇到的问题 "docker: 'buildx' is not a docker command."

apt install docker-buildx
exporter DOCKER_CLI_EXPERIMENTAL=enabled
posted @ 2025-05-27 17:53  ヾ(o◕∀◕)ノヾ  阅读(173)  评论(0)    收藏  举报