在X86上构建多种系统架构的Docker镜像,方便DockerHub维护(例如:amilys/gecoos_ac:latest镜像)
下面教程更新于Docker版本:Docker version 25.0.3, build 4debf41
# 1.安装模拟器(用于多平台镜像构建)
docker run --privileged --rm tonistiigi/binfmt --install all
docker run --rm --privileged multiarch/qemu-user-static --reset --persistent yes
# 2.创建一个多架构的构建器并设置为当前使用
docker buildx create --use --name mybuilder
# 3.构建平台镜像
docker build -t myimage:amd64 -f Dockerfile .
docker build -t myimage:arm64 -f Dockerfile.arm64 .
# 4.创建一个镜像清单
docker manifest create myimage:latest myimage:amd64 myimage:arm64
# 5.添加注解,指定每个镜像的平台
docker manifest annotate myimage:latest myimage:amd64 --os linux --arch amd64
docker manifest annotate myimage:latest myimage:arm64 --os linux --arch arm64
# 6.推送镜像清单到 Docker Hub
docker manifest push myimage:latest