默认 docker build 只会根据当前系统的架构构建镜像,如果需要构建跨平台镜像,需要使用 docker buildx。
如何使用
安装了 docker desktop 之后, buildx 已经默认被安装了,可以通过 docker buildx
查看是否安装成功。
使用下面的指令创建一个新的 builder, 默认的 default builder 只会构建当前系统的镜像
1
2
3
4
#创建一个名为 ck 的 builder
$ docker buildx create --name ck --use
#查看是否创建成功
$ docker buildx ls
使用下述指令构建镜像,可以看到会构建多个平台的镜像
1
$ docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t gomyck/ck:latest .
参考
linux/amd64 和 linux/arm/v7 的区别是什么?
v7 是 arm32v7 的简写,是 arm32 架构的 32 位系统,而 arm64 是 arm64 架构的 64 位系统。是从 v8 开始支持的 64 位指令集, 也就是说 arm64 = arm64/v8