使用默认的docker buildx只能创建对应架构的多架构镜像,例如在Intel平台只能创建linux/amd64,linux/386架构镜像,在ARM平台只能创建linux/arm64,linux/arm/v7,linux/arm/v6,无法实现在同一个build内创建跨平台架构,只能使用tag来区分架构,但是使用起来非常不方便。使用multiarch/qemu-user-static则可以在一个平台内实现创建多架构镜像的功能。
使用multiarch/qemu-user-static创建多架构环境
1 |
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes |
创建自定义构建器mybuilder
1 |
docker buildx create --name mybuilder --driver docker-container --use |
初始化自定义构建器
1 |
docker buildx inspect --bootstrap |
测试新构建器
1 |
docker buildx ls |
使用新构建器创建Intel&ARM跨平台镜像
1 |
docker buildx build --push --platform linux/amd64,linux/arm64,linux/ppc64le,linux/386,linux/arm/v7,linux/arm/v6 -t minirplus/speedtest-cli -f Dockerfile . |
There are no comments yet