过往服务器主要都是amd64为主,但随着服务器领域ARM架构的崛起,加上国内信创环境也主要是ARM架构. 因此构建的容器镜像支持arm架构也慢慢成为一种普遍的需求....这个推送到远程仓库的镜像如同我在前文中所述,它只是特定架构的,如果你在arm64架构系统上操作,它就是arm64架构. 如果是amd64,就是amd64架构....这与我们的预期不符,我们希望无论是在arm64或是amd64架构上,都能使用同一镜像,如同docker hub中的大多数主流镜像一样
所幸,Docker早已识别到此需求,提供了buildx工具,这个就可以实现我们的上述目标...--platform linux/amd64,linux/arm64,我们指定构建linux/amd64与linux/arm64两个架构下的镜像
如果一切正常,你就可以看到构建多平台的日志输出
5....:
• 基础镜像本身要有对应平台的镜像
• RUN等命令中涉及到的命令,本身要在不同架构上是支持的,比如安装一些软件,本身这个安装操作在对应架构上是可以的,这是前提
还有其它一些类似的,你也基本能够理解了