文章总结: 本文详细介绍了使用Docker在Ubuntu服务器上部署redroid开源项目实现安卓云手机的技术方案,包括环境依赖配置、容器启动命令解析、ADB连接操作及系统资源占用测试。通过实测数据表明单台云手机约占用2核CPU和1.5GB内存,为自建低成本云手机集群提供了可行方案。 综合评分: 75 文章分类: 云安全,安全工具,实战经验,移动安全,其他
技术揭秘:如何用Docker在服务器上“手搓”百台安卓云手机?
原创
衡水铁头哥 衡水铁头哥
铁军哥
2026年6月22日 07:41 北京
在小说阅读器读本章
去阅读
我们之前曾经介绍过Android项目,就是在ESXi服务器上直接装了一台Android虚拟机(既然Win11不支持Android,那就直接装一台Android-X86吧),当时的系统版本比较低,其实到现在也不高。
最近几年吧,跨境电商异常火爆,这就衍生了一些特殊需求,比如说虚拟手机,或者叫云手机,用途大家都清楚。当然,很多云厂商也都提供了云手机的服务,比如阿里云的无影云手机:
当然,以上只是基础资源的价格,不包含公网服务。
如果想在本地用,也有现成的产品,听说比较多的应该是魔云腾,不过也不便宜,8核RK3588处理器+16 GB运行内存+256 GB系统盘的价格要1588元,有点小贵。
不过既然是云手机,那GitHub必然有开源项目,我们一搜就能搜到redroid(Remote anDroid)这个项目,这是一个支持GPU加速的AIC(Android In Cloud,云端安卓)解决方案,支持ARM64和AMD64架构,可以在x86服务器上运行安卓系统;支持在Linux主机中以Docker、podman、k8s等方式启动多个实例。
安装也很简单,解决好环境依赖之后,直接拉取docker容器,然后运行就可以了。
接下来,我们来实操一下。
首先,我们需要用到一台Ubuntu系统(Ubuntu 22.04 LTS服务器版本安装演示),并且安装好Docker引擎(Ubuntu 22.04.4安装Docker引擎)。
然后,检查并安装所依赖内核模块:
apt install linux-modules-extra-$(uname -r)modprobe binder_linux devices="binder,hwbinder,vndbinder"
如果系统内核低于5.18,还需要加载ashmem_linux模块。
modprobe ashmem_linux
目前最新的Android系统是15,那接下来,我们先运行一个64位的Android 14系统,命令如下:
docker run -itd --rm --privileged \ --pull always \ -v ~/data14:/data \ -p 5555:5555 \ --name redroid14 \ redroid/redroid:14.0.0_64only-latest
经过前面一段时间对Docker的学习(Docker run命令完全指南:一文掌握Docker run的隐藏功能与避坑指南),我们理解一下上面的配置:
其中,-itd是-i(–interactive)、-t(–tty)、-d(–detach)三个参数的组合。-i用于保持容器的标准输入(STDIN)开放,允许与容器交互;-t用于分配一个伪终端(TTY),使容器的输入/输出行为类似于本地终端;-d用于容器在后台运行(守护模式),并返回容器 ID。
–rm表示退出容器时自动移除该容器。
–privileged表示赋予容器完全特权,使其可以访问所有主机设备(/dev下的硬件设备),并绕过Linux安全机制。
–pull always表示运行时Docker会强制从镜像仓库拉取最新版本的镜像文件,覆盖本地缓存的旧版本镜像,而不是使用本地镜像。
-v ~/data14:/data表示将主机的~/data14目录挂载到容器内的/data路径,实现双向数据共享。
-p 5555:5555表示将容器内的5555端口发布到主机的5555端口,我们前面学习ADB的时候就知道了这个5555端口用于ADB远程调试()。
–name redroid14表示指定容器名称为redroid14,后续可以通过该名称管理此容器。
redroid/redroid:14.0.0_64only-latest则是我们需要拉取的docker镜像名称,跟项目简介的标签相对应,对应关系如下:
Android 15 (redroid/redroid:15.0.0-latest)Android 15 64bit only (redroid/redroid:15.0.0_64only-latest)Android 14 (redroid/redroid:14.0.0-latest)Android 14 64bit only (redroid/redroid:14.0.0_64only-latest)Android 13 (redroid/redroid:13.0.0-latest)Android 13 64bit only (redroid/redroid:13.0.0_64only-latest)Android 12 (redroid/redroid:12.0.0-latest)Android 12 64bit only (redroid/redroid:12.0.0_64only-latest)Android 11 (redroid/redroid:11.0.0-latest)Android 10 (redroid/redroid:10.0.0-latest)Android 9 (redroid/redroid:9.0.0-latest)Android 8.1 (redroid/redroid:8.1.0-latest)
等待命令运行完成后,会自动拉起Docker容器。查看Docker镜像和容器信息,可以看到本次下载的Android 14镜像的文件大小为709 MB,解压之后有1.65 GB;运行中的Docker容器映射了TCP端口5555。
接下来,我们就可以用scrcpy工具来连接redroid云手机了(不使用USB,Windows电脑如何通过网络操控Android手机?)。首先使用ADB连接手机,然后用scrcpy远程到手机上。
使用Scrcpy工具远程操作:
adb connect 192.168.1.77:5555scrcpy -s 192.168.1.77:5555
在弹出的桌面窗口中查看系统信息,显示Android版本为14,型号为redroid14_x86_64_only。
然后我们试着装个小红书。
安装没有问题,可以用。
当然,系统官方给出的这种一次性云手机使用方式我们并不喜欢,那我们还可以使用下载好的镜像直接拉起云手机容器,比如用本地镜像拉起一台Android 15的云手机。
docker run -itd --rm --privileged \ -v ~/data15:/data \ -p 5556:5555 \ --name redroid15 \ redroid/redroid:15.0.0_64only-latest
再连接试一下。
当然,我们还可以使用Escrcpy工具,能以界面形式展示连接信息。
点击开始镜像按钮就可以开始操作了。
最后,我们看一下系统资源使用情况。
当运行两台云手机时,CPU利用率约为160 %,系统负载在7核左右,内存使用量为3.47 GB。
然后我们停掉Android 15这台手机。
可以看到,因为配置了–rm参数,所以在停止容器时,该容器也被自动删除了,再看一下系统资源使用情况。
当运行一台云手机时,CPU利用率约为150 %,但是系统负载降到了5核左右,内存使用量为2.54 GB。
最后,我们再停掉Android 14这台手机。
可以看到,现在没有容器在运行了,而且都被自动删除了,再看一下系统资源使用情况。
当没有云手机运行时,CPU利用率约为10 %,但是系统负载显示为1核左右,内存使用量为583 MB。
由此,我们推算,一台云手机运行的资源占用大约为2核CPU、1.5 GB内存。这么看来,自己在电脑上装一台虚拟机也能玩一玩了。
***推荐阅读***
我们的WireGuard管理系统支持手机电脑了!全平台终端配置,支持扫码连接,一键搞定
保姆级教程:一条命令部署OpenVPN管理系统V4版,支持Win/Mac/安卓/iOS全平台接入
成本省下99.7%!用40元的腾讯云服务器自建IPsecVPN,成功对接企业级飞塔防火墙
别再乱选VPN了!实测数据告诉你:为什么L2TP是个“坑”
终极进化:当swanctl遇上FRR,让你的Linux加密隧道化身SD-WAN雏形
流量指哪打哪!手把手教你用静态Segment List玩转SRv6流量工程
嫌SRv6报文太胖跑不动?带你在Ubuntu+FRR实战uSID微段压缩
22秒跑出密码!算力碾压再升级,揭秘WiFi6+WPA3的致命短板
嫌一键部署不过瘾?带你手搓Hermes智能体,主打一个通透
十倍性能提升!Ubuntu 26.04深度实测:当VPP遇上OpenVPN,带宽直接冲破 6.5Gbps!
性能暴涨670 %!当WireGuard遇上VPP,带宽直冲7.4 Gbps!
手机也能跑DeepSeek-R1/Qwen3了:零成本搭建AI推理平台
2048卡昇腾910C集群算力集群交付工程手册
2048卡H100算力中心100G无阻塞存储网建设方案
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:铁军哥 衡水铁头哥 衡水铁头哥《技术揭秘:如何用Docker在服务器上“手搓”百台安卓云手机?》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。








![[安全周报]$1000挖出21个0day+11.6亿次撞库破8.6万台防火墙——2026年漏洞的”发现”和”利用”,同周进入量产](/images/random/titlepic/7.jpg)
评论