由于 Docker 默认的 builder 实例不支持同时指定多个 --platform ,我们必须首先创建一个新的 builder 实例。
1.创建builder 实例
$ builder:docker buildx create --use --name multiarhbuilder --config config.yaml
config.yaml:
[registry."h****.com"]
http = false
insecure = true
[registry."d*****com"]
http = false
insecure = true
[registry."h*******v.cn"]
http = false
insecure = true
[registry."h********.com"]
http = false
insecure = true
2、使用新创建好的builder实例 $ docker buildx use multiarhbuilder
3、查看已有的builder实例 $ docker buildx ls
4、安装模拟器(用于多平台镜像构建) $ docker run --privileged --rm tonistiigi/binfmt --install all
5、本地构建镜像并推送 `$ docker buildx build --platform linux/arm64,linux/amd64 -t name:tag --push .
ps: 推送镜像一般需要仓库证书认证,所以在第一步之前需要配置好仓库证书文件