资讯动态

docker-android 快速入门:用 Docker 容器跑 Android 模拟器并通过 Web VNC 操作

发布时间:2026/9/11 15:50:13 来源:尧图企业网站定制
docker-android 快速入门用 Docker 容器跑 Android 模拟器并通过 Web VNC 操作【免费下载链接】docker-androidAndroid in docker solution with noVNC supported, video recording and mcp server项目地址: https://gitcode.com/GitHub_Trending/do/docker-androidDocker-Android 是一组把 Android 模拟器装进 Docker 容器的镜像内置可浏览器访问的 Web 屏幕noVNC宿主机还能用 ADB 直接连入容器。适合测试工程师和 CI 流水线不用在本机装 Android Studio 或模拟器一条命令拉起设备即可用于 Appium 自动化测试或远程演示。谁需要它搭 CI 流水线的测试团队在无桌面的服务器或云端环境里跑 UI 测试不用维护实体设备macOS/Windows 开发者在 Ubuntu 虚拟机如 WSL2中获得可用的 Android 模拟器省去本机环境的版本折腾需要短信验证、验证码登录场景的测试宿主机 ADB 一条命令即可给容器内模拟器注入短信多版本兼容测试换镜像 tagemulator_9.0到emulator_14.0即可切换 Android 版本3 分钟上手启动前先确认宿主机支持 KVM硬件虚拟化加速否则模拟器会非常慢。Ubuntu 下可执行apt install cpu-checker kvm-ok检查。macOS/Windows 用户需先准备一个支持虚拟化的 Ubuntu 虚拟机因为镜像只在 Ubuntu 环境下运行。docker run -d \ -p 6080:6080 \ # Web VNC 端口浏览器看屏幕 -e EMULATOR_DEVICESamsung Galaxy S10 \ # 设备型号列表见 README -e WEB_VNCtrue \ # 开启 Web UI --device /dev/kvm \ # 启用硬件虚拟化加速 --name android-container \ budtmo/docker-android:emulator_11.0启动后浏览器打开http://localhost:6080即可看到设备桌面。确认模拟器就绪、并从宿主机接管控制docker exec -it android-container cat device_status # 状态为 READY 即就绪 adb connect 127.0.0.1:5555 # 需运行容器时加 -p 5554:5554 -p 5555:5555它能做什么浏览器直接看手机屏幕WEB_VNCtrue会开启 noVNC Web 屏幕默认 6080 端口局域网内任意设备都能远程查看并操作模拟器地址支持view_only只读查看和password密码保护等参数。宿主机跑 Appium 测试运行时追加-e APPIUMtrue -p 4723:4723Appium Server 会在容器内启动宿主机测试脚本连接 4723 即可驱动容器里的设备也能对接 Selenium Grid 4.x。ADB 全程可控adb connect之后可装 APK、拉日志、模拟按键测试短信验证流程时执行adb emu sms send 号码 内容即可。镜像还能当构建环境把代码目录挂载进容器直接跑 gradle 构建详见 documentations/USE_CASE_BUILD_ANDROID_PROJECT.md。配置与调优EMULATOR_DEVICE决定启动哪台设备。支持 Samsung Galaxy S6/S7/S7 Edge/S8/S9/S10、Nexus 4/5/S/One 等手机及 Nexus 7、Pixel C 平板。改完后容器会用新的皮肤与硬件参数启动设备外观和分辨率随之变化。WEB_VNC / WEB_VNC_PORTWEB_VNCtrue开启 Web 屏幕6080 被占用时把WEB_VNC_PORT和-p映射一起改。若不用 Web 界面可改用 VNC 客户端连 5900 端口并配VNC_PASSWORD加密码保护。EMULATOR_DATA_PARTITION数据分区大小默认 550m。装应用报空间不足时调大如 900m但分区越大首次写入镜像和启动越慢。APPIUM / APPIUM_ADDITIONAL_ARGS前者启动 Appium Server后者透传额外启动参数不用改容器内任何配置。常见坑与排查kvm-ok 提示不支持→ CPU 未开虚拟化或 BIOS 未启用 VT-x/AMD-V → 进 BIOS 开启虚拟化Windows 下用 WSL2Win11 需在.wslconfig设nestedVirtualizationtrue并把/dev/kvm传给容器README 有完整步骤。6080 打不开画面→ 未启用WEB_VNC或端口未映射 → 运行容器时补上-e WEB_VNCtrue -p 6080:6080。adb connect 超时→ 5554/5555 端口未映射或连接地址不对 → 运行容器时映射这两个端口连 Docker 宿主机的IP:5555同机可用 127.0.0.1。容器重启后数据全没→ 默认行为是重启即销毁模拟设备 → 创建容器时加-v data:/home/androidusr挂载数据卷持久化。画面卡顿、操作无响应→ 设备皮肤与 UI 渲染占资源或宿主机资源不足 → 先加-e EMULATOR_NO_SKINtrue去掉皮肤再检查宿主机 CPU/内存占用。macOS/Windows 直接跑不起来→ 镜像仅支持在 Ubuntu 环境运行 → 先用 Ubuntu 虚拟机WSL2承载 Docker再在虚拟机内打通 KVM 运行容器。边界在哪适合自动化测试、CI 构建和需要可丢弃干净模拟器环境的场景。注意免费镜像只含基础模拟器能力headless 模式、Selenium 集成等属于仅向赞助者开放的 Pro 版本。需要操作真机或维护大规模设备池时建议搭配实体设备平台使用。【免费下载链接】docker-androidAndroid in docker solution with noVNC supported, video recording and mcp server项目地址: https://gitcode.com/GitHub_Trending/do/docker-android创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价