目前,信创正处于广泛建设阶段,我在思考一个问题,如果要把已有的x86架构上打包的容器用到arm架构的服务器上,是否可行。
由于没有机会进行验证,请问x86架构的服务器上能否运行arm的容器,是否稳定;同样,arm架构的服务器能否运行x86的容器,是否稳定?
理论是肯定支持, 实际应用场景肯定不会这么做, 如 启动一个容器实例(2c4g)在x86上和arm运行的效果是不一样的, 就算都是x86架构, 不同代的cpu和内存, 效果也是不一样的。
收起楼上是的没错,ARM和X86的指令集不一样,无法直接迁移。
ARM容器,本质就是一个ARM的运行环境,传统X86应用无法直接在ARM环境运行,需要先将应用进行ARM适配性改造后,才可以部署到ARM容器中。
同理,海光的X86信创方案,对现有X86应用兼容比较好,可以做到不修改或少修改就能平滑迁移到海光环境上。
因此,很多金融客户会采用两条腿走路,X86信创和ARM信创一同建设,针对不同的应用选择不同的环境。如,不准备大量改造和重构的应用可以考虑上信创X86环境,可以大量改造或具备重构条件的应用,选择上ARM环境。
在软件开发行业中,Docker 是一种常用的容器化技术,它可以将应用程序及其依赖项打包成一个容器,以便在不同的环境中运行。针对您的问题,如果要将已有的 x86 架构上打包的容器用于 ARM 架构的服务器上,需要考虑以下几个方面:
基于以上考虑,x86 架构的服务器上运行 ARM 的容器或 ARM 架构的服务器上运行 x86 的容器都是可行的,但是需要进行架构转换,并且可能会影响容器的性能和稳定性。因此,如果您需要在不同的架构上运行容器,建议使用相同的架构来构建容器,以确保容器的性能和稳定性。