最近有一个项目引发了我的方式,包括编写几个(支持Linux的)嵌入式设备,为它们部署软件,以及允许在git repo中更新代码库时更新应用程序.
最初的想法是为每个设备制作一个标准图像,然后我开始尝试在UDOO Quad和Intel Edison上安装docker,但是到目前为止还没有任何成功.
我的想法是,在嵌入式设备上安装Docker似乎是一个好主意 – 但如果是这样的话,那么它肯定会被移植到现在. Resin.io是唯一一个似乎在做这些努力的团体.
有没有我缺少的东西,或者有没有明确的理由说明Docker在嵌入式设备上没有意义?如果没有理由,并且在嵌入式系统上运行Docker确实有意义,那么我是否忽略了一些问题:是否有任何关于移植的讨论来源,或者如何解决这个问题?
最佳答案
我曾考虑在嵌入式设备上运行docker(一个mips系统),但并没有这样做.在我看来,它存在一些问题:
原文链接:https://www.f2er.com/docker/436158.html> Docker在Golang中实现.目前还没有可供mips编译的工具链.您需要使用gcc-go自己创建工具链.
> docker的大小大于lxc.在台式计算机中,这不是问题,但嵌入式设备的闪存存储有限.
> Docker使用了一些Linux内核的最新功能.有时嵌入式设备上的内核版本不是那么新,需要后端才能使其工作.
> docker镜像必须与运行时环境在同一架构上构建.这意味着如果要在Raspberry Pi上运行docker容器,则必须在ARM体系结构系统上构建docker镜像. QEMU可用于在云中构建docker镜像,但它不支持嵌入式系统中使用的所有cpu架构. (例如,它目前不支持MIPS)
最后,选择lxc用于在嵌入式设备上运行容器的特定任务.与docker相比,它具有有限的功能,但目前它符合项目的要求.