看了一篇文章讲为什么在容器盛行的年代虚拟机仍然重要,其中一个点讲到
Containers use your operating system’s CPU. A virtual machine uses an emulated CPU. If there’s software you need to run that wasn’t compiled on the CPU you have on your machine, then you have to run a virtual CPU.
虚拟机可以模拟CPU架构,而容器不可以,看一看
一、跨CPU架构编译程序
方法一:直接在目标硬件上编译
方法二:模拟目标硬件
- 模拟器除了可以用来玩游戏之外,还可以用来跨 CPU 架构构建程序。最常用的模拟器是开源的 QEMU,QEMU 支持许多常见的 CPU 架构,包括
ARM
、Power-PC
和RISC-V
等 - 原理:软件模拟硬件的指令,适配不同架构的指令集
方法三:使用交叉编译器
- 安卓设备的 APP 编译的常用做法
二、跨平台docker编译
那么能不能用docker实现呢?可以的,buildx插件了解一下
发表回复