
容器里跑安卓模拟器一条命令完成 Docker 部署【免费下载链接】docker-androidAndroid in docker solution with noVNC supported, video recording and mcp server项目地址: https://gitcode.com/GitHub_Trending/do/docker-android不想在宿主机装整套 Android 环境又想让模拟器像服务一样随时拉起、随时销毁docker-android 就是把 Android 模拟器装进 Docker 容器屏幕在浏览器里打开adb 从宿主机直连适合做应用联调测试、Appium UI 自动化和云端批量跑机。它是什么能干嘛一个预打包好的 Docker 镜像把模拟器启动流程全封在里头你只管docker run。角色分工一句话讲清Docker 负责隔离与调度Android 模拟器是干活的主体noVNC 把屏幕画面推到浏览器接上 Appium 之后就能用代码驱动整个容器跑 UI 测试。开工前先给环境做三项体检Docker 装好了吗docker version能正常打印版本号即可。KVM 能开吗sudo apt install cpu-checker kvm-ok期望输出包含KVM acceleration can be used。KVM 是 Linux 的硬件虚拟化接口这步不过关模拟器会退回纯软渲染慢到没法用。系统是什么Ubuntu 主机直接用macOS/Windows 必须套一个装了 Ubuntu 的虚拟机镜像只在 Ubuntu 上跑。Windows 11 可以用 WSL2 顶替但要先sudo usermod -a -G kvm ${USER}加入 kvm 用户组在/etc/wsl.conf的[boot]段加/dev/kvm属主变更命令在.wslconfig里写nestedVirtualizationtrue最后wsl --shutdown重启生效。 一条命令拉起 Android 11 容器目的带硬件加速起一个模拟器并让你能从浏览器看到屏幕。docker run -d -p 6080:6080 -e EMULATOR_DEVICESamsung Galaxy S10 -e WEB_VNCtrue --device /dev/kvm --name android-container budtmo/docker-android:emulator_11.0参数作用可替换值 / 说明-d后台运行想盯着启动过程可去掉它前台跑-p 6080:6080把 noVNC 端口暴露给宿主机换 6081 之类端口时需同时加-e WEB_VNC_PORT-e EMULATOR_DEVICESamsung Galaxy S10指定模拟的设备型号S9 / S8 / S7 Edge / S7 / S6Nexus 4 / 5 / One / SNexus 7Pixel C-e WEB_VNCtrue打开浏览器访问入口省略后改用本地 VNC 客户端连 5900--device /dev/kvm把硬件虚拟化设备透传进容器必选没有它模拟器慢到不可用--name android-container容器名后续状态检查命令依赖它改了名字检查命令也要跟着改budtmo/docker-android:emulator_11.0镜像 tag对应 Android 版本支持 9.0 到 14.0tag 按emulator_版本号替换怎么确认它真的活着两条路任选其一。浏览器打开http://localhost:6080模拟器启动要一两分钟成功的标准是看到 S10 的屏幕走完开机动画、停在主界面。终端侧再验一次docker exec -it android-container cat device_status会看到模拟器当前的状态。如果屏幕长时间黑屏用docker logs android-container翻启动日志看它卡在哪一步。进阶数据持久化、换机型、接 adb 与 SMS数据持久化容器默认在重启时销毁模拟设备。在上面那条 run 命令里加-v data:/home/androidusr装过的应用和数据跨重启都还在。换设备、换系统只改EMULATOR_DEVICE的值和镜像 tag 尾部其余不用动。宿主机连 adbrun 命令里补上-p 5554:5554 -p 5555:5555宿主机终端执行adb connect 容器IP:5555细节见 documentations/USE_CASE_CONTROL_EMULATOR.md。模拟收短信docker exec -it android-container adb emu sms send phone_number message模拟器立刻弹出一条短信通知测试短信验证码场景很常用。接 AppiumUI 自动化测试时把驱动指向容器里的 adb完整流程参考 documentations/USE_CASE_APPIUM.md。 高频踩坑速查Qkvm-ok 不通过或者根本没有 /dev/kvm去 BIOS 里打开 CPU 虚拟化开关Intel VT-x / AMD-VWSL2 场景再核对上一节说的 kvm 用户组和嵌套虚拟化配置拿不准以官方文档为准。Q容器起来了浏览器里却看不到模拟器启动本身要几分钟先别急。用前面那条 device_status 命令看状态再用docker logs查报错信息。Q容器重启后数据没了这是默认行为。加上前面说的-v data:/home/androidusr卷挂载下次重启就保留了。现在你手里有一个能看屏幕、能 adb 直连、能跑 Appium 的 Android 容器。下一步建议先挂上数据卷再照着 UI 自动化的文档对着它跑起第一个测试。【免费下载链接】docker-androidAndroid in docker solution with noVNC supported, video recording and mcp server项目地址: https://gitcode.com/GitHub_Trending/do/docker-android创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考