系统版本
Docker版本
启用 Buildx
- 配置/etc/docker/daemon.json文件
{
"experimental": true
}
- 命令执行时携带参数
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