使用 docker buildx 构建多CPU架构镜像
环境组件
版本
操作系统
Rocky Linux 8.5
CPU 架构
x86_64
Docker
20.10.12
Harbor
v2.3.2
Kubernetes (可选)
1.22.2
创建多平台构建器
docker buildx create --name multi-platform --use --platform linux/amd64,linux/arm64 --driver docker-container创建单机容器多平台构建器(与k8s构建器二选一)
启用多CPU架构静态编译环境
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes创建单机窗口多平台构建器并默认使用
docker buildx create --use --name mybuilder启动并查看构建器
docker buildx inspect mybuilder --bootstrap
Name: mybuilder
Driver: docker-container
Nodes:
Name: mybuilder0
Endpoint: unix:///var/run/docker.sock
Status: running
Platforms: linux/amd64, linux/arm64, linux/ppc64le, linux/s390x, linux/386, linux/arm/v7, linux/arm/v6, linux/riscv64, linux/mips64le, linux/mips64创建k8s多平台构建器(与单机容器构建器二选一)
准备k8s环境
登录master主机创建k8s多平台构建器并默认使用
启动并查看构建器
构建多平台构建并推送到仓库
准备 Dockerfile
登录镜像仓库
注意:harbor 2.x 以后才支持多CPU架构构建共存
执行构建并推送到仓库
参考:
https://docs.docker.com/engine/reference/commandline/buildx_create/
https://github.com/docker/buildx/issues/495
Last updated