The requested image‘s platform (linux/arm64/v8) does not match the detected host platform (linux/amd
这一段完整的报错是:
The requested image’s platform (linux/arm64/v8) does not match the detected host platform (linux/amd64) and no specific platform was requested
翻译过来就是说:请求的映像的平台(linux/arm64/v8)与检测到的主机平台(linux/amd64)不匹配,未请求特定平台。
背景:
这段报错是发生在内网,物理机Ubuntu 20.04 x86 架构下运行docker容器,恰好这个docker容器是我打包到私有仓库的基于arm64/v8架构的ubuntu环境下运行的turn服务器。于是就发生了在 x86 架构下 的物理机Ubuntu运行基于arm64/v8架构的ubuntu软件服务,于是docker报错,容器运行失败。
Mac下解决方案:
如果是Mac苹果电脑,并且在Docker上运行某个应用,则可以尝试如下解决方式。
启动命令加入 --platform linux/amd64 即可。
示例:
docker run -it --platform linux/amd64 --name dgraph dgraph/standalone:v21.03.0
按照这个说法。我在本地Mac上也成功运行了该容器。实际上是,我在Mac上成功分别运行了arm64/v8 架构的Ubuntu软件服务、和amd64架构的Ubuntu软件服务。我也理所应当的认为docker可以在任务环境下运行镜像容器。然而事实是这个报错打醒了我。
刨根问底
Q:amd64 和arm64v8 有什么区别?
A:amd64 和 arm64v8 都是用于描述计算机系统体系结构的指令集架构。它们之间的主要区别在于,amd64 是一种用于基于 x86 架构的计算机的指令集,而 arm64v8 则是一种用于基于 ARM 架构的计算机的指令集。
Q:docker 上面Ubuntu镜像中的amd64 和arm64v8 有什么区别?
A:Docker 是一个用于简化应用程序的部署、测试和维护的开源容器管理平台。在 Docker 上运行的 Ubuntu 镜像(或镜像的版本)中的 amd64 和 arm64v8 区别主要在于它们适用于不同的架构类型。具体来说,amd64 镜像可以在基于 x86 架构的计算机上运行,而 arm64v8 镜像则可以在基于 ARM 架构的计算机上运行。
Q:x86架构的计算机可以运行arm64v8的镜像吗?
A:通常来说,基于 x86 架构的计算机是不能运行 arm64v8 镜像的。这是因为 x86 架构和 ARM 架构有着不同的指令集,所以他们所能运行的镜像也是不同的。
Q:docker镜像构建的容器不是可以在任何操作系统运行吗?
A:是的,Docker 镜像构建的容器是可以在大多数操作系统上运行的。Docker 容器的一个重要特性是它们是轻量级且可移植的,因此可以在多种不同的操作系统中运行。不过,需要注意的是,Docker 容器的架构类型必须与宿主操作系统的架构类型相匹配。例如,如果宿主操作系统是基于 x86 架构的,那么 Docker 容器也必须是基于 x86 架构的。
Q:那为什么iMac操作系统既可以运行arm64v8的镜像 ,又可以运行amd64的镜像?
A:iMac 操作系统可以运行 arm64v8 和 amd64 镜像是因为它是基于苹果公司的自家处理器架构,称为苹果公司架构(Apple Silicon)。苹果公司架构支持两种指令集:arm64 和 x86-64,因此 iMac 操作系统可以运行基于这两种指令集的镜像。不过,iMac 操作系统也可以通过使用虚拟机或者其他方式来运行其他架构的操作系统,从而能够运行其他架构的 Docker 镜像。
解决方案
重新拉去docker镜像,在Ubuntu x86 架构下运行amd64 镜像 下docker容器。
相关文章
- 推荐系统中传统模型——LightGBM + FFM融合
- 07篇 Nacos客户端是如何实现实例获取的负载均衡呢?
- 数智洞见 | 云原生中有状态应用容器化实践,如何去状态化?
- 08篇 要给Nacos的UDP通信功能点个赞
- 分布式大气监测系统架构介绍及案例解析
- 潮办科技CTO沈泽明: 借助云开发,10元增量成本扛住双十一高并发流量
- 《跟二师兄学Nacos》02篇 Nacos的临时与持久化实例,傻傻分不清?
- 客户规模增长50倍,腾讯云星星海成企业数字化新“发动机”
- 回顾︱DeepAR 算法实现更精确的时间序列预测(二)
- Nacos中已经有Optional使用案例了,是时候慎重对待这一语法了
- 三分钟回顾!11月云计算领域重要动态速览
- Nacos 内存参数修改调优
- 技术前沿 | 金山云2020年Q3公有云产品动态
- TencentOS tiny 定制开发板直接操作LoRa模组
- 随着COVID-19的持续存在,向云的迁移加速
- linux ubuntu系统安装dotnet / Azcopy
- 信服云李明宇:云数融合为传统IT改造提供一体化解决方案
- Nacos服务自动关闭问题汇总
- 弹性供应链成为大势所趋,Oracle Fusion供应链管理云为数字化流程管理全力赋能
- 技术干货 |看我如何来解Web Terminal假性输入框