是否可以在android设备上运行容器?

Tho*_*ues 5 android docker kubernetes

我是移动开发人员,最近擅长在Docker上使用容器。我正在为我的研究生项目开发容器架构​​。在此架构的模块之一中,需要在android设备上运行。但是我仍然找不到有关是否在android设备上运行容器的信息。它可能很简单,例如带有python的高山图像。

谁能告诉我是否有可能在带有docker甚至kubernetes的android设备上运行容器?

小智 9

可以使用它在 android 设备上运行 docker,使用诸如 termux 或 userland 之类的应用程序来安装 qemu 包。

最好的方法是使用alpine linux terminal,这是一个在 github 上可用的 android 应用程序。

这个 alpine 术语应用程序有一个 QEMU,可以像 alpine ISO 一样运行。所有事情都是自动化的,这适用于任何 android 上的 x86_64 内核。

一些安卓手机有一个 KVM 内核,所以这个设备可以运行得更快 alpine term

我的朋友也在YouTube 频道上制作了一个视频,以便在没有 root 的任何 android 手机上运行 docker

  • 视频是私人的。 (3认同)

aur*_*ius 7

我必须指出,我不是 Android 开发方面的专家。但我研究了这个话题,@Emile 的答案是你能得到的最简单和最接近的答案 - 看起来。

实际上,您可以在 Termux 之上运行 Fedora(不仅是)映像,然后在其中启动 Python。这显然不是泊坞窗,但可能会有所帮助。您可以在此处找到更多信息。

另外,我在Quora上找到了这个主题,这是一个类似的问题:

想一想:Docker 抽象了操作系统,仅此而已。尽管 Android 操作系统是 linux,但它与 linux 发行版是完全不同的内核。让用于 Linux 发行版的应用程序在 Android/Docker 上运行可能很棘手。

使用 docker 的主要原因之一是它可以提供自包含的应用程序包,不会影响系统的其余部分。打包为 .apk 文件的 Android 应用程序就是这样。

除此之外,我能够在StackOverflow上找到这个主题,但它并没有真正解决问题。由于该问题可能与 AUFS 和 LXT 所需的一些内核功能有关,而这些功能在 Android 中不存在 - 现在其中一些来自我所记得的。

也有人声称在docker论坛微博上是可能的(使用翻译成英文),但只有用户提供的屏幕截图,并没有详细说明如何做到这一点,除了“花了很多精力”的声明。因此,这仍然是一个鲜为人知的部分,或者也许有人能够实际提供更多的补充信息——也许可以在 Docker 论坛或 GitHub 上尝试。


nav*_*aid 7

2021 年,答案肯定是肯定的。

这是有关该主题的教程,它向您展示了如何在没有 VM 或 chroot 的情况下直接在 Android 上运行 docker。请注意,您确实需要 root 手机并构建自定义内核。

如果您只想快速查看在 android 上运行的 docker 而又不想弄脏手,请查看GitHub 上的此评论

  • 不幸的是它需要重新编译内核。由于涉及这么多工作,避免 chroot 至少看起来很奇怪。 (2认同)

Yi *_*iao 5

我们打开Android容器,它可以在Android操作系统上运行docker容器。不仅可以运行Docker容器,还可以运行其他容器,比如podman。此外,我们还让容器支持检查点和恢复功能,支持容器跨架构、跨操作系统的迁移。有关详细信息,请参阅https://github.com/CGCL-codes/Android-Container