资讯详情

3条命令跑起一个Android容器:Docker-Android实战笔记

📅 2026/9/11 17:04:03 | 华诺云谱 👁 阅读
3条命令跑起一个Android容器:Docker-Android实战笔记
3条命令跑起一个Android容器Docker-Android实战笔记【免费下载链接】docker-androidAndroid in docker solution with noVNC supported, video recording and mcp server项目地址: https://gitcode.com/GitHub_Trending/do/docker-android周五下午演示环境的Android模拟器又挂了。重装系统镜像、等SDK同步、再对着KVM模块报错发呆而demo明天就要演示。后来我把这套环境挪进了Docker-Android一个把Android模拟器打进镜像的容器方案内置noVNC网页界面拉起来开浏览器就能看屏幕device_status文件随时告诉你模拟器起没起来。一句话概括它是什么Docker-Android把Android模拟器、设备皮肤、noVNC服务全装进一个Docker镜像镜像标签从Android 9排到Android 14你只需要一台开KVM的Linux机器。容器跑在什么宿主机上模拟器就长什么样在我机器上能跑不再依赖具体那台机器。先确认你的机器能不能跑先花10秒确认门槛省得后面白折腾。它只支持Ubuntu主机macOS/Windows得套一层Ubuntu虚机所以虚拟化检查是硬指标门槛要求确认方式CPU虚拟化开启Intel VT-x或AMD-Vkvm-ok返回OK用户权限当前用户在kvm组ls -l /dev/kvm权限可读写磁盘空间系统镜像模拟器数据预留10GB以上镜像标签覆盖Android 9-14一条线跑起来确认完之后你依次做三件事拉镜像、起容器、看状态。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跑完之后浏览器打开http://localhost:6080。第一次启动要多等几分钟因为容器要下载对应版本的Android系统镜像之后你会在网页里看到一部手机从开机画面走到桌面——那就是容器里正在跑的真模拟器不是截图。确认它就绪的办法是docker exec -it android-container cat device_status看到boot completed或者adb显示device就算起来了。想换Android版本把标签里的emulator_11.0换成emulator_14.0就行其余不动。跑起来之后能干什么按你要做的测试分三类每类都对应仓库里的一个场景文档。兼容性回归同一批用例分别对着S10、Nexus 5、Nexus 7起三个容器设备用EMULATOR_DEVICE指定。UI改动会不会撑爆7寸平板的布局跑完矩阵自然见分晓。系统能力模拟不想手动点开发者选项就直接adb emu sms send 12345678 测试消息往模拟器里灌一条短信验证应用的收信逻辑。要挂Appium的话起容器时多开4723端口并传APPIUMtrueAppium Server和模拟器在同一个容器里。CI流水线集成在Jenkins里把容器当作一个测试阶段docker run起容器、跑用例、退出。每次构建拿到的都是全新设备状态没有上个构建留下的应用和缓存想留人肉看屏的口子把6080也映射出来。从Demo到长期稳定跑如果你打算把它挂进Jenkins跑一个月有三件事要提前定下来。默认行为是容器重启后设备状态销毁挂卷就能保住-v android_data:/home/androidusr之后装过应用、写过的数据都还在。分区大小默认550MB装应用多了会撑爆用EMULATOR_DATA_PARTITION2g调大。ADB要跨机连的话起容器时映射5554和5555端口宿主机adb connect 容器IP:5555即可。资源分配上给容器限2核CPU、4G内存起步模拟器流畅度基本够用。踩坑速查症状容器起不来报/dev/kvm: permission denied→原因当前用户不在kvm组 →修法sudo usermod -aG kvm $USER登出重登。症状宿主机adb connect超时 →原因起容器时没映射5554/5555 →修法补上-p 5554:5554 -p 5555:5555重新起。症状装应用报存储空间不足或重启后数据全没 →原因没挂卷、默认数据分区太小 →修法加-v xxx:/home/androidusr并调大EMULATOR_DATA_PARTITION。更细的环境变量比如noVNC加密码、只读模式都在 documentations/ 里按场景分成了独立文档。收尾Docker-Android的价值就是把起一台Android设备从半小时压缩成一条docker run。下一步翻一下仓库里mixins/configs/devices/profiles/下的设备皮肤配置挑一台你项目真正要测的机型。【免费下载链接】docker-androidAndroid in docker solution with noVNC supported, video recording and mcp server项目地址: https://gitcode.com/GitHub_Trending/do/docker-android创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。