docker下部署安卓模拟器附带网页访问远程使用更方便
》和 windows《离谱:docker 下一分钟部署 windows 系统》,和这次 docker 部署安卓和前两篇原理相同,本质上是在 docker 下调用 kvm 来实现虚拟化功能,也就是用 docker+kvm 建立一个虚拟机。
至于 docker 无法拉取镜像?往期文章有写过方法,自行翻看,这里不再赘述。
在部署前需要先检测 kvm,物理机要开启虚拟化功能,如果是在虚拟机里面部署记得开启嵌套虚拟化(最简单的 cpu 选择 host 模式),如果是 nas 一般都支持 kvm(至少威联通支持,群晖没机器不知道),至于云服务器部分不支持嵌套虚拟化,需要自己实测。
如果返回如下结果为则说明支持 kvm,若返回错误,物理机请到 bios 中开启虚拟化,虚拟机请开启嵌套虚拟化,若系统太老建议更新系统,部分老系统不带 kvm 驱动。
安装好 docker 后输入以下命令就可以完成部署,记得删去注释再复制到 ssh 里面:
如果是威联通 nas,点击添加应用程序,输入以下 docker-compose.yml 就行,对于其他品牌的 nas 也是一样,具体的代码对应下面的注释,再照着修改即可。
当然,以上环境变量中 EMULATOR_DEVICE 以及安卓版本都可以更改,支持的型号以及版本看下图,但本人实测 Samsung Galaxy S10+ 安卓 11 是能正常启动的 ......,如果上安卓 12 就不行,,,,当然也可以自行组合测试。
顺便说一下,上面的命令里面有童鞋会感到奇怪,为什么 EMULATOR_ADDITIONAL_ARGS 值后面要用反斜杠分开,而不是直接加引号,,,,这个我试过用引号,然后莫名其妙就导致了配置不生效,所以为了以防万一,全部都改成了反斜杠的形式。
等部署好后就可以在浏览器打开 ip:6080 访问 web vnc,打开后需要手动点击连接。
然后就是等待开机,这个过程有点长,耐心等就行,有报错没有问题,都是正常情况。
1. 目前版本有概率会重启 docker 失败(安卓系统可以正常重启),只能通过重建 docker 来解决,不清楚具体原因,需要等待作者修复,但重建不会导致数据丢失,一开始已经数据持久化了。
2. 如果是嵌套虚拟化的情况下,性能会受限,这个其实不算问题,因为嵌套虚拟化一定会导致性能损失,建议物理机或者 nas 直接部署。
版权声明
本文仅代表作者观点,不代表xx立场。
本文系作者授权xx发表,未经许可,不得转载。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。