Run Android Emulators in Docker with Ease Using Docker-Android
Need a flexible and scalable Android emulator for development, testing, or CI pipelines? Docker-Android offers a containerized solution that runs Android emulators with various device profiles, VNC support, and ADB access – all inside Docker.
Why Use Docker-Android?
Docker-Android simplifies emulator setup, especially in CI environments or when testing multiple device configurations. Key benefits include:
- ๐ฎ Emulator Skins & Profiles – Samsung Galaxy S10, Nexus 5, Pixel C, and more.
- ๐ฅ๏ธ VNC Access – View and control the emulator via your browser.
- ๐ Log Sharing – Access logs via a built-in web UI.
- ๐ก ADB Support – Connect to the emulator via
adb connect. - ๐ Framework Integration – Works with Appium, Espresso, and other test frameworks.
- โ๏ธ Cloud Ready – Integrates with Genymotion Cloud, AWS, GCP, etc.
- ๐งช UI Testing – Run unit and UI tests in isolated containers.
Available Docker Images
You can pull images by Android version or specific release version. Examples:
| Android Version | API | Latest Image | Specific Release |
|---|---|---|---|
| Android 9.0 | 28 | budtmo/docker-android:emulator_9.0 | budtmo/docker-android:emulator_9.0_<version> |
| Android 10.0 | 29 | budtmo/docker-android:emulator_10.0 | ... |
| Android 11.0 | 30 | budtmo/docker-android:emulator_11.0 | ... |
| Android 12.0 | 32 | ... | ... |
| Android 13.0 | 33 | ... | ... |
| Android 14.0 | 34 | ... | ... |
| Genymotion | – | budtmo/docker-android:genymotion | ... |
Supported Devices
Docker-Android includes emulator profiles for a wide range of phones and tablets:
๐ฑ Phones
- Samsung Galaxy S10 / S9 / S8 / S7 / S6
- Nexus One / S / 4 / 5
๐ป Tablets
- Nexus 7
- Pixel C
Requirements
- Docker installed on your system
- Ubuntu host OS (natively or via VM for macOS/Windows users)
- Virtualization support (KVM)
To check if virtualization is enabled:
sudo apt install cpu-checker
kvm-ok
Quick Start
Run a Docker-Android container with Samsung Galaxy S10 and Android 11:
docker run -d -p 6080:6080 \
-e EMULATOR_DEVICE="Samsung Galaxy S10" \
-e WEB_VNC=true \
--device /dev/kvm \
--name android-container \
budtmo/docker-android:emulator_11.0
Now, open your browser and go to:
http://localhost:6080
To check emulator status:
docker exec -it android-container cat device_status
Persisting Emulator Data
By default, emulator data is not saved. To persist data across container restarts:
docker run -v data:/home/androidusr \
budtmo/docker-android:emulator_11.0
Use-Cases
Docker-Android is ideal for:
- ๐๏ธ Building Android projects
- ๐งช Automated UI testing (Appium, Espresso)
- ๐ฑ ADB control and automation
- ๐ค Cloud deployment (Azure, AWS, GCP)
- ๐ก Jenkins & CI pipelines
- ๐ฌ SMS simulation
Advanced Integrations
Genymotion SAAS
If you need more powerful cloud infrastructure or want to run multiple emulator types, Docker-Android supports integration with Genymotion SAAS and popular cloud platforms like:
- AWS
- GCP
- Alibaba Cloud
About Docker-Android Pro
For more advanced use-cases, thereโs a Docker-Android Pro version available for sponsors. It unlocks:
| Feature | Free | Pro |
|---|---|---|
| Analytics-free | โ | โ |
| Proxy Support | โ | โ |
| Language Setting | โ | โ |
| Newer Android Versions | โ | โ |
| Root Privileges | โ | โ |
| Headless Mode | โ | โ |
| Selenium 4 Integration | โ | โ |
| Multiple Simulators | โ | โ (coming soon) |
| Google Play Store | โ | โ (coming soon) |
| Video Recording | โ | โ (coming soon) |
Final Thoughts
Docker-Android is a powerful way to simulate Android devices on any infrastructure that supports Docker. Whether you’re a mobile developer, QA engineer, or DevOps specialist, this project helps bring scalable Android testing and development to your local machine or CI/CD pipelines.
For more details, check out the GitHub repository:https://github.com/budtmo/docker-android



Post Comment