如何在centos上通过docker运行树莓派程序?
我现在有些树莓派程序,但是希望在真机使用的时候,先在centos中跑一下测试,想到了Docker。我理解docker就像一个小型的操作系统,代码可以借着这个壳子来跑。我的理解是否有偏颇?如果没有,大概要怎么去做呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我现在有些树莓派程序,但是希望在真机使用的时候,先在centos中跑一下测试,想到了Docker。我理解docker就像一个小型的操作系统,代码可以借着这个壳子来跑。我的理解是否有偏颇?如果没有,大概要怎么去做呢?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(1)
在做你所述以上事情之前需要明确一点,那就是CPU架构问题。
PC系统和嵌入式系统的CPU架构不同,你可能需要了解:i386、x86_64、arm32、arm64、armv7、armv8(aarch32、aarch64)等cpu架构的区别
很明显,树莓派属于嵌入式系统,使用的是arm架构,树莓派3以上(包含3b和3b+)可支持64位cpu,也就是采用的是armv8架构,armv8支持两种属性,即:aarch32、aarch64,通俗的说就是最新发行的树莓派已经可以支持64位,而以往的版本仅支持32位
如果你的Docker是装在PC上的或者是PC上的虚拟机里的(比如vm虚拟机之类的)那么Docker所使用的硬件是与宿主机共享硬件核心,所以,宿主机的硬件核心决定了docker的核心,换句话说就是docker并非虚拟机,并不能虚拟出一套与宿主机不同cpu架构的硬件,即便是vm虚拟机,也是不能运行arm版本的操作系统的
在树莓派中可以安装centos系统,并且centos官方有img镜像,但仅是32位的。
在树莓派中运行的centos系统一样可以安装Docker,值得注意的是Docker官方的文档中指出:不建议嵌套Docker,也就是在Docker中创建一个centos镜像容器,然后在此容器中又安装一个Docker,虽然支持但不建议这样做。
想要实现如你所述的测试环境,可以参考以下做法:
1、使用和树莓派同样cpu架构的真机,也就是arm架构的真实测试机器
2、使用qemu虚拟机,qemu是一个软件模拟环境,可以模拟运行arm架构的操作系统,不过据说性能堪忧
3、使用交叉编译环境,也就是让pc上的Linux具有编译不同cpu架构程序的能力,程序经过交叉编译后即可移植到arm架构的机器上去
以上所述如有偏颇或不同方案,希望不吝赐教。