操作系统与架构
踩坑记录
当使用苹果 m3 芯片打包后的镜像运行在腾讯云服务器里面运行容器报错: WARNING: The requested image's platform (linux/arm64/v8) does not match the detected host platform (linux/amd64/v4) and no specific platform was requested
原因
腾讯云服务器在 x86_64(AMD64)架构的系统上运行,苹果的最新 Mac 电脑(如使用 Apple Silicon 芯片的 M1 M2 M3)是在 ARM 架构上运行的。
linux/arm64:指的是适用于 ARM64 架构的处理器,这通常用于 Apple Silicon(如 M1、M2、M3)以及其他 ARM64 设备。
架构
架构通常指的是计算机芯片的设计和指令集架构(ISA)。不同的架构意味着芯片使用不同的指令集来执行程序。
x86_64(AMD64):主要用于 Intel 和 AMD 的桌面和服务器 CPU。
ARM:广泛用于移动设备、嵌入式系统,以及苹果的 Apple Silicon 芯片。
架构决定了软件需要如何编译和运行,以便在特定的硬件上正常工作,而操作各类的系统则支持运行在特定的硬件 架构
上。
操作系统
系统支持总结
CentOS Stream 9
支持在
amd64
,arm64
架构运行特点: 作为 CentOS 的滚动发行版,提供最新的功能和更新。
Debian 12.0
支持在
amd64
,arm64
架构运行特点: 稳定性强,社区支持广泛,适合多种用途。
Ubuntu Server 22.04 LTS
支持在
amd64
,arm64
架构运行特点: 长期支持版本,定期更新,企业和个人使用广泛。
CentOS 7.6
运行架构: 主要
amd64
,arm64
支持有限特点: 较老的版本,稳定性高,但更新较少。
OpenCloudOS 8
运行架构: 主要
amd64
,具体arm64
支持需查阅官方文档特点: 专注于云计算环境,基于 CentOS。
区别总结
版本更新: CentOS Stream 是滚动更新,其他系统则根据版本定期发布。
长期支持: Ubuntu 提供 LTS 版本,适合需要长期稳定支持的环境。
稳定性: Debian 以其稳定性著称,适合服务器和关键任务应用。
架构支持: 新版本通常支持更多架构(如 arm64),而旧版本可能仅限于 amd64。
用途: OpenCloudOS 专注于云计算,其他版本更通用。
解决方案
- 在打包镜像的时候使用 buildx 工具可以打包双架构,也可以指定一个(amd64),不过这里有有时候也有问题,一些网络问题等等,不建议使用。